number_format没有小数参数

时间:2018-03-15 14:09:49

标签: php

我想使用public class HelloWorld { public static void main(String[] args) { test(new Child()); } public static void test(Parent object) { object.hi(); } } abstract class Parent<T> { public abstract void hi(); } class Child extends Parent<String> { public void hi() { System.out.println("Hi from child"); } } 函数而不指定小数位数。 (如果是2位小数,则显示2,如果是5,则显示5)

这可能吗?

非常感谢

2 个答案:

答案 0 :(得分:1)

如果这真的是你想要的,即使这完全无用,这也可能有用

function numberOfDecimals($value)
{
    if ((int)$value == $value)
    {
        return 0;
    }
    else if (! is_numeric($value))
    {
        // throw new Exception('numberOfDecimals: ' . $value . ' is not a number!');
        return false;
    }

    return strlen($value) - strrpos($value, '.') - 1;
}

$number = 1.23456;
print number_format($number,numberOfDecimals($number));

信用:PHP: get number of decimal digits

答案 1 :(得分:1)

您可以在使用numberformat之前计算小数位数,并在函数中使用它。

$number = 50001/4;

If(strpos($number, ".") !== false){
    // Is float
    $decimals = strlen($number) - (strpos($number, ".")+1);
}Else{
    // Is integer == no decimals
    $decimals =0;
}

Echo number_format($number, $decimals, ',', ' ');

https://3v4l.org/DULp4