Mad*_*Boy 9 c# decimal rounding
我的小数值为18.8.存储在此变量中的值可以是任何类型.例如,它可以是1.0000000或1.00004000或5.00000008.我想写一个方法,以便我可以传递十进制到它并得到四舍五入的字符串.如果我知道我想得到的小数位,这不会是一个问题.但我想得到的是:
当它是1.0000000它应该返回1.
如果它是1.00004000它应该返回1.00004.
当它是5.00000008时,它应该返回5.00000008.所以基本上它应该找到所有0后面的数字不同然后0并切断它.
我应该怎样接受它?什么是最好的方法?我从SQL得到这个值,并把它放在十进制变量,但后来我想显示它和5.0000000,当它可以显示为5对我来说有点矫枉过正.
希望我能得到一些不错的建议.
带着敬意,
疯狂的男孩
ter*_*R0Q 10
AFAIK,ToString("0.##")会做,只增加#的数量,这样你的价值就不会四舍五入.例如:
decimal d = 1.999m;
string dStr = d.ToString("0.###");
Run Code Online (Sandbox Code Playgroud)
这将生成"1,999"字符串(分隔符取决于使用的文化).
因此,您可以使用常见的非常长的格式化字符串:"0.############################"
- 格式化所有值.