我正在使用以下代码:

string.Format("{0:###,###,###,###,###.00}",12005557590928.143);


将double值转换为字符串。

它的输出为“ 12,005,557,590,928.10”

如果我将其更改为

string.Format("{0:###,###,###,###,###.##}",12005557590928.143);


知道了“ 12,005,557,590,928.1”。

如何获得输出为“ 12005557590928.143”?

最佳答案

由于数字所使用的数据类型,您会看到一个精度错误。尝试使用定点数字类型(在这种情况下为decimal):

string.Format("{0:###,###,###,###,###.###}", 12005557590928.143m);

关于c# - 双字符串转换,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14238958/

10-11 01:45