繁体   English   中英

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

[英]Combine two integers (one containing the integer part, the other the decimal part) into a floating point number

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

它是这样的:

int wholeNumber = 2;
int decimal = 25;

我想double结果为2.25

作弊解决方案是这样的:

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

干净的解决方案将涉及检查“十进制”中有多少个值,除以 10^amount 并添加它们

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

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

(我保留最前面的,因为它更容易理解)

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

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

严重地...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM