gpt4 book ai didi

c# - 获取十进制的总小数位数(包括不重要的)

转载 作者:太空宇宙 更新时间:2023-11-03 21:36:51 26 4
gpt4 key购买 nike

如果你运行这段代码:

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 - 因此造成了困惑。

最佳答案

我认为这就是 MarcinJuraszek 所说的你所需要的

decimal d = 0.0000m;
int count = d.ToString(CultureInfo.InvariantCulture).
Substring(d.ToString(CultureInfo.InvariantCulture).
IndexOf(".") + 1).Length;

关于c# - 获取十进制的总小数位数(包括不重要的),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21275059/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com