在c#中将decimal转换为int

时间:2010-09-15 18:27:11

标签: c#

例如,当rate = 0.085时,为什么百分比会返回0?

int percentage = (int)rate*100;

4 个答案:

答案 0 :(得分:21)

在乘法之前应用强制转换操作。尝试:

int percentage = (int)(rate*100);

编辑:这是order of operator evaluation上的C#指南。

答案 1 :(得分:7)

由于操作顺序,它返回0。 rate在乘法之前被转换为整数。

您需要额外的一组括号才能使其正常工作。

int percentage = (int)(rate*100);

答案 2 :(得分:5)

尝试:

int percentage = (int)(rate * 100);

答案 3 :(得分:4)

尝试:

int percentage = (int)(rate*100);

你将rate转换为int,然后再乘以它。