给定 123、1234 和 12345 等值,我需要将它们分别转换为 1.23、12.34 和 123.45
这段代码,当我在 textbox2 中输入 123、1234、12345 时:
int originalVal = Convert.ToInt16(textBox2.Text);
double doubled = Convert.ToDouble(originalVal/100);
...给我 1、12 和 123,而不是预期的 1.23、12.34 和 123.45。
我需要做什么才能得到想要的结果?请注意,这是一个使用 VS2003 和 .NET 1.1 的 Windows CE/Compact Framework 项目。
最佳答案
您正在进行整数除法,因为 originalVal
和 100
本身都是整数。尝试:
originalVal/100.0
100.0
的使用使编译器生成浮点除法代码。或者,这会产生相同的效果:
Convert.ToDouble(originalVal)/100
在进行除法之前,您要将 originalVal
整数转换为 double 。。
关于c# - 将 int 转换为 double 时如何显示小数点及其后两位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18666567/