相关疑难解决方法(0)

为什么不使用Double或Float来表示货币?

我总是被告知永远不要代表钱doublefloat类型,这次我向你提出问题:为什么?

我确信有一个很好的理由,我根本不知道它是什么.

floating-point currency

887
推荐指数
11
解决办法
27万
查看次数

169
推荐指数
9
解决办法
14万
查看次数

在货币数据库中存储货币价值的最佳方法是什么?

我需要在数据库中存储几个与钱相关的字段,但我不确定在moneydecimal之间使用哪种数据类型.

c# sql t-sql currency

27
推荐指数
3
解决办法
2万
查看次数

均匀地将美元金额(十进制)除以整数

我需要为我正在构建的程序编写一个会计例程,它将给出一个十进制的偶数除以整数.例如:

$143.13 / 5 =

28.62
28.62
28.63
28.63
28.63
Run Code Online (Sandbox Code Playgroud)

我在这里看过这篇文章:在c#中均匀划分,但似乎它只适用于整数除法.想知道这个问题的优雅解决方案吗?

c# accounting division

16
推荐指数
2
解决办法
9337
查看次数

将十进制值格式化为带有2位小数的货币

我从csv文件获取数据并将其解析为我的应用程序.在我的csv文件中,我有一个列,price其值当然是我项目中项目的价格.

但是,csv文件中的价格不包含尾随0,例如,如果物品的价格是$5.00,则csv文件将其作为$5,如果价格是$9.60,则csv将其作为$9.6.其他价格$9.56虽然很好.

这是我从csv文件中检索价格的方法:

 Price = string.IsNullOrEmpty(columns[3].Trim()) ?
     null : (decimal?)decimal.Parse(columns[3]), 
Run Code Online (Sandbox Code Playgroud)

在我的班级Price设置为public decimal? Price { get; set; }.

如何格式化返回以解决此问题?

Price = String.Format("Price: {0:C}", 
     string.IsNullOrEmpty(columns[3].Trim()) ? 
        null : (decimal?)decimal.Parse(columns[3]));
Run Code Online (Sandbox Code Playgroud)

我尝试了以上但没有奏效.

我如何修复它以使csv中的值$5.9格式化为$5.90.

编辑:

尝试:

Price=decimal.Round(string.IsNullOrEmpty(columns[3].Trim()) ? 
    null : 
    (decimal?)decimal.Parse(columns[3]), 2, MidpointRounding.AwayFromZero);
Run Code Online (Sandbox Code Playgroud)

不确定我是否做对了?

另外,我不确定如何在我的代码中使用以下选项:

decimalVar.ToString ("#.##");
Run Code Online (Sandbox Code Playgroud)

还尝试过:

 Price = string.IsNullOrEmpty(columns[3].Trim()) ? 
      null : (decimal?)decimal.Parse(columns[3], NumberStyles.Currency)
Run Code Online (Sandbox Code Playgroud)

但仍然行不通.

c# string-formatting

10
推荐指数
2
解决办法
4万
查看次数

哪种 C# 数据类型相当于 SQL Server 中的钱?

我正在 ASP.NET MVC 中开发一个项目。我是在项目中间开始的,所以我陷入了困境。SQL Server 中列的数据类型是money. 我需要通过模型访问该列,那么它在 C# 中的最佳等效数据类型是什么?

c# sql-server model-view-controller

4
推荐指数
1
解决办法
2万
查看次数