如何从c#中的十进制数中删除小数点?

use*_*657 5 c# decimal

我试图从c#中的十进制数中删除小数点?

例如:我的十进制数是2353.61我想要235361作为结果.我的十进制数是196.06我希望19606是结果.

我怎样才能做到这一点?

Cla*_*der 6

我只想得到的小数位数和10可能不是真正关心的正确功率倍增,但这样做也更快,使用更少的内存然后将其强制转换为字符串分割/重组,然后浇铸回双.这也适用于任意数量的小数位.

decimal d = 2353.61;
int count = BitConverter.GetBytes(decimal.GetBits(d)[3])[2];
d *= Math.pow(10, count);
Run Code Online (Sandbox Code Playgroud)

使用答案获取小数位数.


Ami*_*ich 1

也许是这样的(如果点位于未知的位置 - 否则它是一个简单的乘法):

string str = decNum.ToString().Replace(".",string.Empty);
decimal dec = decimal.Parse(str);
Run Code Online (Sandbox Code Playgroud)