给定诸如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
整数转换为双精度。