很抱歉,如果这是一个noob问题,但我记不起以前必须这样做,解决方案在C#中逃脱了我.说我有两个价值观;
int BeforeDecimal = 50000;
int AfterDecimal = 25;
Run Code Online (Sandbox Code Playgroud)
我如何将这两个int添加到50000.25m?
添加int是行不通的,我需要能够在将它添加到BeforeDecimal时将int转换为小数位.此外,我无法转换为字符串,因为我需要这是一个小数.我想我可以将其破解为字符串然后转换为小数,但这只是错误的.
只需将 AfterDecimal 除以 100 并与 BeforeDecimal 相加即可。唯一需要注意的是后缀m(十进制)让语言知道您想要浮点除法而不是整数除法。
decimal result = BeforeDecimal + (AfterDecimal / 100m);
Run Code Online (Sandbox Code Playgroud)
如果AfterDecimal总是2个位置,则可以除以100并将它们加在一起.
如果不这样做,请使用
return (decimal)BeforeDecimal + ((decimal)AfterDecimal / (decimal)Math.Pow(10, Math.Ceiling(Math.Log10(AfterDecimal))));
Run Code Online (Sandbox Code Playgroud)