jav*_*red 20 .net c# int decimal type-conversion
我是C#和.NET的新手,所以如果这是一个太简单的问题,我就会大肆宣传.
我有一个十进制变量decVar.我需要将它与整数变量相乘intVar.我需要结果decimal.那么我应该将整数变量声明为int或作为decimal?
有这个代码,
decimal decVar = 0.1m;
decimal decRes = decVar * intVar;
Run Code Online (Sandbox Code Playgroud)
我应该这样声明:
int intVar = 3;
Run Code Online (Sandbox Code Playgroud)
或者像这样:
decimal intVar = 3;
Run Code Online (Sandbox Code Playgroud)
?
这是一个财务计算,所以我需要结果完全正确0.3.
upd:代码更新(感谢Jon)
Jon*_*eet 33
无所谓 - 无论如何int都将被转换为decimal:没有*(decimal, int)运营商,只是*(int, int)和*(decimal, decimal).(当然还有其他类型.)
现在decimal不能隐式转换为int,但反向转换是有效的 - 这就是编译器的作用.
但是,您需要更改声明,decVar因为当前赋值运算符的右侧是double,而不是小数.你的意思是0.1米.你也想要半冒号:)
| 归档时间: |
|
| 查看次数: |
19984 次 |
| 最近记录: |