C# 十进制计算
我试图在计算完int后得到它的逗号数,但我似乎无法让它起作用 我的代码:C# 十进制计算,c#,C#,我试图在计算完int后得到它的逗号数,但我似乎无法让它起作用 我的代码: int price = 120; decimal calc = price / 100; 但它只返回1 int price = 120; decimal calc = price / 100m; 您的变体: int price = 120; int temp = price / 100;// temp = 1 decimal calc = (decimal) temp; 由于两个操作数都是整数,因此正在以整数类型执行
int price = 120;
decimal calc = price / 100;
但它只返回1
int price = 120;
decimal calc = price / 100m;
您的变体:
int price = 120;
int temp = price / 100;// temp = 1
decimal calc = (decimal) temp;
由于两个操作数都是整数,因此正在以整数类型执行计算。应该是:
decimal calc = price / 100M;
// ^^^^^
//atleast one of the operand should be decimal
或
将一个整数除以另一个整数时,结果始终为整数。既然你想让你的答案更精确,你就需要根据你想要的精确性来打字。十进制为您提供了C#中尽可能高的精度。但即使是将其转换为浮动或双精度,也会以您期望的格式给出答案。再次铸造取决于所需的精度水平。更详细的解释来自MSDN 最简单的方法是将
价格
也声明为十进制
decimal price=120;
decimal calc=price/100;
如果它来自一个参数或另一个局部变量,您仍然可以将其存储为十进制,如:
int priceInInt=120;
decimal price=priceInInt;
decimal calc=price/100;
decimal price=120;
decimal calc=price/100;
int priceInInt=120;
decimal price=priceInInt;
decimal calc=price/100;