我應該編寫一個程序,輸入是double(變量叫money),我應該分別打印小數點前面的數字和後面的數字。 例如:在c#中提取小數點後面的數字
爲輸入:36.5應打印:The number before the decimal point is: 36 The number after decimal point is: 5
爲輸入:25.4應打印:The number before the decimal point is: 24 The number after decimal point is: 4
Console.WriteLine("Enter money:");
double money = double.Parse(Console.ReadLine());
int numBeforePoint = (int)money;
double numAfterPoint = (money - (int)money)*10;
Console.WriteLine("The number beforethe decimal point is: {0}. the number after the decimal point is: {1}",numBeforePoint,numAfterPoint);
如果我進入25.4
它打印:The number before the decimal point is: 24 The number after decimal point is: 3.9999999
我不想要3.999999
我想4
您不應該使用'double'作爲財務價值 - 使用'decimal'。浮點類型用於科學計算。不同的類型有不同的精度。 – xxbbcc
hacky的解決方案 - 你可以使用math.round ... – AGrammerPro
@AGrammerPro根本不hacky。 Math.Round通常用於糾正像這樣的浮點精度錯誤。 – BradleyDotNET