[英]C# Dynamic Decimal Formatting
我有以下数据库值
0.0012
0.00197
0.002
0.00011
0.065000
0.002001
0.9624
1
1.23
1.232
1.5
1.0924
我知道我需要将数字乘以 1000 才能得到正确的答案,然后我会尝试为正确的数字格式设置格式。 我尝试了不同的字符串格式,例如下面的代码:
txtTop_Measure.Text = String.Format("{0:f2}", (System.Convert.ToDecimal(_dataRowMeasureData["Top_Measure"]) * 1000));
这给了我下面的输出。 有些是正确的,有些则不是。
1.20
1.97
2.00
0.11
0.07
2.00
962.40
1000.00
1230.00
1232.00
1.500.00
1092.40
我需要的输出如下,但我不知道使用哪种字符串格式来获取下面的输出。
1.20
1.97
2
0.11
0.0650
2.0010
962.40
1000
1230
1232
1.500
1092.40
我需要社区的脑力来解决这个问题。 谢谢
这是一个如何根据小数位格式化字符串的示例。 首先,我运行一个 modulo-n-check。 根据该结果,我选择格式。
var s = "0.0012";
var x = Convert.ToDecimal(s)*1000%1000 == 0
? String.Format("{0}", Convert.ToInt64(s) * 1000)
: String.Format("{0:f2}", Convert.ToDecimal(s) * 1000);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.