【发布时间】:2014-09-21 04:51:08
【问题描述】:
在 C# 中,我需要将 long 转换为小数。问题是我想将小数点放在 long 中的特定位置。
例如,假设我有以下长数字:
long l = 123456789
当转换为浮点数在第三位的小数时,我想要以下内容:
decimal d = 123456.789
举个例子,这个函数最好是类似于 Java 中的 BigDecimal.valueOf,它允许你给出一个 long 和一个放置小数点的位置,它会返回正确的值。
我知道其中一种解决方案是将 long 格式化为具有正确小数点位置的字符串,然后将其转换回小数。另一种解决方案是将 long 乘以 10-想要的小数位数,但我想知道是否有更好的替代方案。
【问题讨论】:
-
您是要转换成十进制还是双精度?它们不是一回事。
-
抱歉,标题写错了。我修好了它。我正在尝试从 long 转换为 decimal。
标签: c# decimal long-integer bigdecimal decimal-point