由于某些原因,我需要将 Double Value 的 Integer 和 Fraction 部分作为两个单独的整数。
例如:值 12.34 拆分为整数 12 和 34。
根据我的数学基础知识,这可以通过我现在使用的这个表达式轻松完成:
double aValue = 2.4f;
int aInt = (int)aValue;
int aFract = (int)((aValue - aInt) * 100.0f );
到目前为止它有效,但它有奇怪的输出行为。
例如,传递 2.30000 会得到 '2' 和 '29' 而不是 '2' 和 '30'。
如果我将 aInt 和 aFract 声明为 Double,则处理结果会正确地产生“2.0000”和“30.0000”,但将“30.0000”转换为整数会再次“有趣地”产生“29”。