如何将int
转换为decimal
示例:将12转换为12.0
我试过下面但是运气好
int i = 10;
Decimal newValue = Decimal.parse(i)
和
Decimal newValue = Convert.ToDecimal(i)
答案 0 :(得分:5)
您无法更改本地变量类型:
// 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
和decimal
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
答案 1 :(得分:1)
十进制(或十进制)定义implicit conversion operator,允许您简单地编写如下内容:
json success
答案 2 :(得分:0)
尝试
int i = 10;
decimal d = new decimal(i);
请注意,您无法动态地将i
的类型从int
更改为decimal
;您需要有两个变量 - 一个int
(i
)和一个decimal
(d
)。