2014-03-26 323 views
1

我已經寫了這個簡單的程序,它將英寸轉換爲釐米,但浮點數在小數點後給了我一些大數字。我希望它看起來更像25.78而不是25.780000或其他東西。我應該改變什麼來使它看起來像那樣?下面是程序:將英寸轉換爲centrimetres

#include <stdio.h> 

int main() 
{ 
    float inches, centimeters; 

    printf("Enter a number of inches to be converted: "); 
    scanf(" %f", &inches); 

    centimeters = inches * 2.54;  // 1 inch = 2.54cm 

    printf("%f is equalled to %fcm\n",inches, centimeters); 

    return 0; 
} 
+0

printf語句中的'%.2f'而不是'%f'會執行它。 – enhzflep

+0

[C:printf a float value]的可能重複(http://stackoverflow.com/questions/8345581/c-printf-a-float-value) –

+0

有關在C:http:// www中使用格式化字符串的更多信息。 codingunit.com/printf-format-specifiers-format-conversions-and-formatted-output – adripanico

回答

2

添加精度的格式說明printf中:

printf("%.2f is equalled to %.2f cm\n", inches, centimeters); 

%.2f表示小數點後的價值將有2位精度。

2

更改格式有點 - 而不是使用"%f"使用".2%f

喜歡

//-------vv------ and -------vv----------------------------- 
printf("%.2f is equalled to %.2fcm\n",inches, centimeters); 
//-------^^------------------^^----------------------------- 
2

的printf( 「%2f上。」,myFloat); 2小數點後表示位數

2
printf("%f is equalled to %.2fcm\n",inches, centimeters); 

注意額外%.2f