string num = 23.6;
我想知道如何将其转换为小数点后三位
喜欢
decimal nn = 23.600
有什么方法吗?
我尽力了..
首先你的string num = 23.6;
won't even编译。您需要在字符串中使用双引号,例如string num = "23.6";
如果你想把它作为decimal
,你需要先用 a 来解析它IFormatProvider
具有.
as a NumberDecimalSeparator https://msdn.microsoft.com/en-us/library/system.globalization.numberformatinfo.numberdecimalseparator.aspx like InvariantCulture https://msdn.microsoft.com/en-us/library/system.globalization.cultureinfo.invariantculture%28v=vs.110%29.aspx(如果你的CurrentCulture
uses .
已经,你don't必须传递第二个参数);
decimal nn = decimal.Parse(num, CultureInfo.InvariantCulture);
现在我们有一个23.6
as a decimal
价值。但作为一个价值观,23.6
, 23.60
, 23.600
and 23.60000000000
完全一样,对吧?无论你将哪一个解析为十进制,你都会得到与 a 相同的值23.6M
在调试器中。 看起来这些是not真的。请参阅 Jon Skeet 对此答案的评论以及他的“保持零”部分.NET 中的十进制浮点数 http://csharpindepth.com/Articles/General/Decimal.aspx文章。
怎么办?是的,我们需要得到它textual表示为23.600
。由于我们在文本表示中只需要小数点分隔符,The "F"格式说明符 https://msdn.microsoft.com/en-us/library/dwhawy9k%28v=vs.110%29.aspx#FFormatString将满足需要。
string str = nn.ToString("F3", CultureInfo.InvariantCulture); // 23.600
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)