Amy*_*y B 1 .net precision decimal
昨天我问了一个关于小数及其内部精度的一般性问题.以下是我正在尝试解决的方案的具体问题.
我在SqlServer中有一个键入的列 - 十进制(18,6).当我获取这些值时,创建的.net小数与数据库中的精度相匹配.它们看起来像这样:
1.100000
0.960000
0.939000
0.844400
0.912340
Run Code Online (Sandbox Code Playgroud)
我需要根据这些规则提供(ToString)这些值:
所以,当n为3时,这就是我想要的:
1.100
0.960
0.939
0.8444
0.91234
Run Code Online (Sandbox Code Playgroud)
现在,我编写了一些代码,ToString的小数 - 删除所有尾随零,然后分析字符串寻找小数点并计算小数位数,以查看需要重新添加多少尾随零. 有没有更好的方法来实现这一目标?
另外,我知道我在上面的问题中说过ToString ...但是如果我可以在我的数据访问层的路上修改小数,这样消费者总是得到具有适当精度的小数,那就更好了.是否可以在没有字符串操作的情况下对小数本身执行此操作?
要输出n = 3所需的格式,您可以使用:
number.ToString("0.000###")
Run Code Online (Sandbox Code Playgroud)
使用n作为参数,您可以构建自定义字符串格式:
string format = "0." + new string('0', n) + new string('#', 6 - n);
s = number.ToString(format);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2768 次 |
| 最近记录: |