[英]How do i fix point in decimal value in C#
我在下面的VB.net中有代码:
me.Index = Format(Convert.ToDouble(g.Trim()), "##.##")
结果:120.00
我如何在C#中做同样的事情。 我不在C#中使用格式功能。 我只希望结果不会在点之后放置两个以上的值。 我的意思是如果我发送值120.120000,那么结果将是12.12
您不清楚“我不在C#中使用格式函数”的意思是什么,但是您当然可以使用string.Format
。 但是,使用double.ToString
可能会更简单:
Index = Convert.ToDouble(g.Trim()).ToString("0.##");
(我将前导##
更改为0
以确保始终有一个前导数字,因此您不会得到“ .5”。显然,如果您确实希望前导数字是可选的,请将其更改为"#.##"
。不过,使用##
作为前缀并没有好处。)
然而:
.
? double
。 您确定不应该使用decimal
吗? 你可以这样
decimal.Round(yourValue, 2, MidpointRounding.AwayFromZero);
你要么用这个
var value = 2.346;
var str = value.ToString("0.00");
要么
decimal.Round(yourValue, 2, MidpointRounding.AwayFromZero);
//如msdn网站中所述,它将十进制值舍入为指定的精度。
或像这样使用Round函数
decimal a = 1.994444M;
Math.Round(a, 2);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.