如何将 int
转换为 decimal
示例:将 12 转换为 12.0
我尝试了下面的方法,但没有成功
int i = 10;
Decimal newValue = Decimal.parse(i)
并且
Decimal newValue = Convert.ToDecimal(i)
// i is integer
int i = 10;
// and now i become decimal
decimal i = decimal.parse(i); // <- doesn't compile
但是您可以创建另一个本地变量:
int i = 10;
decimal d = i; // d == 10M
而 .Net 可以为您将 i
转换为 decimal
(所以您有整数 i == 10
和十进制数 d == 10m
)。使用动态类型存在一种 奇特的 可能性。
dynamic i = 15; // i is int
i = Convert.ToDecimal(i); // now i is decimal; "(decimal) i;" will do as well
但我怀疑你是否需要它。如果您坚持使用Parse()
,则应该放置一个丑陋的
decimal d = decimal.Parse(i.ToString());
我们仅从String
表示中解析。
编辑:
但是十进制值仍然只包含整数,即10而不是10.0
数学上说
10 == 10.0 == 10.00 == 10.000 == ...
Console.Write(d.ToString("F1")); // F1 - 1 digit after the decimal point
如果是 decimal
类型(而不是 double
),你可以使用一个(不太光彩?)的技巧
decimal d = i + 0.0m;
Console.Write(d); // 10.0
尝试一下
int i = 10;
decimal d = new decimal(i);
i
的类型从int
更改为decimal
;您需要有两个变量--一个int
(i
)和一个decimal
(d
)。
decimal d = (decimal)i;
- D Stanley