我试图弄清楚为什么我的十进制值未正确存储。这是一个示例公式:
//Comes up as 0.0
double foo = 120 / 175;
// Want to convert to look like a percent but comes up as 0.0 also
double bar = foo * 100;
我知道120/175是0.6857 ....知道吗?
最佳答案
您正在对两个整数执行算术运算,因此结果是一个整数。您将结果的小数部分丢失,然后将其存储在foo
中。
您应该先将其中一个值转换为double
:
double foo = 120d / 175;
您也可以使用
decimal
来执行此操作,如果您实际上正在尝试使用它:decimal foo = 120m / 175;
一旦从第一个方程式中正确捕获了十进制值,此部分就可以正常工作:
decimal bar = foo * 100;