给定诸如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项目。

最佳答案

您正在执行整数除法,因为originalVal100本身都是整数。尝试:

originalVal/100.0


100.0的使用使编译器生成用于浮点除法的代码。或者,这将具有相同的效果:

Convert.ToDouble(originalVal)/100


在进行除法运算之前,您要将originalVal整数转换为双精度。

07-26 09:21