B. *_*non 2 c# math .net-1.1 compact-framework windows-ce
给定值123,1234和12345,我需要将它们分别转换为1.23,12.34和123.45
这段代码,当我输入123,然后是1234,然后12345进入textbox2:
int originalVal = Convert.ToInt16(textBox2.Text);
double doubled = Convert.ToDouble(originalVal/100);
Run Code Online (Sandbox Code Playgroud)
...给我1,12和123而不是预期的1.23,12.34和123.45.
我需要做些什么才能获得理想的结果?请注意,这是使用VS2003和.NET 1.1的Windows CE/Compact Framework项目.
Gre*_*ill 11
你正在做的整数除法,因为无论originalVal和100自身的整数.尝试:
originalVal/100.0
Run Code Online (Sandbox Code Playgroud)
使用100.0使编译器为浮点除法生成代码.或者,这会产生同样的效果:
Convert.ToDouble(originalVal)/100
Run Code Online (Sandbox Code Playgroud)
在进行除法之前将originalVal整数转换为double 的位置.