Php Tutorial float data application details
1 float round (float $ val [, int $ precision]) returns the result of rounding val according to the specified precision (number of digits after decimal point. Precision can also be negative or zero (default ).
Echo round (4.3) // 4
2 string sprintf (string $ format [, mixed $ args [, mixed $...]) returns the formatted data string
View sourceprint? $ A = 12.338938438;
Echo sprintf ("%. 5f", $ a) // Result: 12.33894
$ A = 12.3312356;
Echo sprintf ("%. 5f", $ a); // 12.33124
Echo sprintf ("% f", $ a); // 331236 the default value is 6 digits after the decimal point
3 string number_format (float $ number, int $ decimals, string $ dec_point, string $ thousands_sep)
View sourceprint? $ Number = 1234.5678;
$ English_format_number = number_format ($ number, 2 ,'.','');
Echo $ english_format_number; // 1234.57
All of the above are automatically rounded down. Sometimes the demand does not need to be rounded down. What should I do? I didn't think of a good solution. Who knows I can tell you.
I wrote a troublesome function and recorded it.
View sourceprint? Function getFloatValue ($ f, $ len)
{
$ TmpInt = intval ($ f );
$ TmpDecimal = $ f-$ tmpInt;
$ Str = "$ tmpDecimal ";
$ SubStr = strstr ($ str ,'.');
If (strlen ($ subStr) <$ len + 1)
{
$ RepeatCount = $ len + 1-strlen ($ subStr );
$ Str = $ str. "". str_repeat ("0", $ repeatCount );
}
Return $ tmpInt. "". substr ($ str, 1,1 + $ len );
}
Echo getFloatValue (12.99, 4) // 12.9900
Echo getFloatValue (12.9232555553239, 4) // 12.9232