[英]Setting the digits after decimal point
因此,當我輸入一些數字時,它會使用浮點數打印 6 位十進制數字。 我知道我可以用“ %.2f ”之類的東西調整位數(然后數字只有兩個)。 但我的問題是; 是否有任何命令可以打印輸入的確切位數。
例如,如果我輸入數字2.5
只有 printf ("%f", number); 它將打印2.500000
或者用 printf("%.2f", number); 它將打印2.50
那么有什么方法可以打印2.5 (帶一個小數點),同時如果我輸入像2.51這樣的數字,它會打印帶有 2 個小數點的數字( 2.51 )
是的。 為此,您必須編寫一些代碼來確定需要打印小數點后的位數。
我將把下面的偽代碼轉換為實際代碼給你:
value = 2.51
places = 1
while(testDigitsAfterDecimal(value, places) { places ++ }
sprintf(format_string, "%%.%df", places)
printf(format_string, value)
總之,如果您編寫代碼以數學方式測試小數點后的位數並計算您需要的位數,那么您可以在sprintf
使用該數字來創建指定所需位數的格式字符串。 完成后,您可以將該字符串作為打印數字的格式傳遞給printf
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.