将两位小数舍入到两位小数的最佳方法是什么?
例如,我想转换
3.45345323423423E+28
到
3.45
答案 0 :(得分:7)
您知道3.45345323423423E+28
是一个非常大的数字,并且不包含小数部分吗?
(剥离scientific notation,你的号码是34,534,532,342,342,300,000,000,000,000,当然是一个整数。)
如果要将数字舍入到2位小数,请使用Math.Round(value, 2);
但请注意,您的示例编号不会更改。
但是,如果您想要舍入为2 有效数字,请参阅以下答案: Round a double to x significant figures
答案 1 :(得分:1)
使用Math.round
Math.Round (value, 2);
将数字舍入到指定数量的小数位双精度浮点值。
答案 2 :(得分:1)
使用此:
Math.Round(value, 2);
这会将您的值四舍五入到小数位。
将其存储在某个变量中或显示它。
答案 3 :(得分:1)
首先,您应该考虑使用其他数据类型来获得如此大的数字。也许十进制。因为double的精度只有15-16位数。
如果你仍然坚持使用double,那么你可以在这里使用Math.Round。
double db = 3.45345323423423E+28;
db = Math.Round(db, 2);
但是,如果你改变主意切换到十进制,那么下面应该做的。
decimal d = 3.45345323423423E+28m;
d = decimal.Round(d, 2);
答案 4 :(得分:0)
我想你想这样显示:3.45E + 28
然后你应该做这样的事情:
double number = 3.45345323423423E+28;
string result = number.ToString("0.00E+00");
希望这会帮助你完成任务。