将两个整数(一个包含整数部分,另一个包含小数部分)组合成一个浮点数

时间:2013-08-25 19:10:41

标签: c# floating-point

如何通过组合两个整数来生成double值?我已经尝试过搜索,但我找不到我正在寻找的答案。

它是这样的:

int wholeNumber = 2;
int decimal = 25;

我想将double设为2.25

2 个答案:

答案 0 :(得分:1)

作弊解决方案是这样的:

string number = wholeNumber + "." + decimal
double doubleNumber = Double.Parse(number);

清洁解决方案将涉及检查“十进制”中您有多少个值,除以10 ^金额并添加它们

正如所指出的那样 - 十进制分隔符是特定于文化的 - 因此完全正确的版本是

string number = wholeNumber + System.Globalization.CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSepar‌​ator + decimal
double doubleNumber = Double.Parse(number);

(我保持最佳,因为它更容易理解)

答案 1 :(得分:1)

或者......只使用数学:

double d = wholeNumber + (double)decimal / 100;

...严重