如果您运行此代码:获取小数总小数点后的位数(包括非显著的)
decimal d1 = 0m;
decimal d2 = 0.0m;
decimal d3 = 0.0000m;
string str1 = d1.ToString(System.Globalization.CultureInfo.InvariantCulture);
string str2 = d2.ToString(System.Globalization.CultureInfo.InvariantCulture);
string str3 = d3.ToString(System.Globalization.CultureInfo.InvariantCulture);
你得到:
str1: "0",
str2: "0.0",
str3: "0.0000"
是否有一些代码的方式来获得小数位数(如上面的decimal.ToString输出)在小数变量中吗?
即想:
d1: 0
d2: 1
d3: 4
(如果你想知道为什么这是必需的,它是涉及SSRS和Excel中的问题的一些解决方法代码:http://social.technet.microsoft.com/Forums/sqlserver/en-US/5c4fc104-5d69-409d-9a6e-a6354922729a/exporting-ssrs-report-to-excel-2007-excel-found-unreadable-content-in-file-xlsx)
编辑:
标题已更改。对不起,混乱,伙计们。在我试图解决的底层问题中,小数始终为0 - 因此混乱。
你可以直接调用'ToString'并计算'.'后面的位数吗? – MarcinJuraszek
@MarcinJuraszek - 不是一个坏主意。如果没有更干净的东西,我会使用它。 –
希望这有助于http://stackoverflow.com/questions/13477689/find-number-of-decimal-places-in-decimal-value-regardless-of-culture – V4Vendetta