Tor
Мне не надо округлять, совсем наоборот
Я почему-то думал, что имею дело в форматированым выводом. Если не секрет при чем здесь арифметика?
echo sprintf("%01.3f", 0.009);
выдает то что нужно.
echo round(0.00990099009901,3);
тоже выдает 0,010
а вариант, которой привёл Мутник, в два раза проще.
но поскольку он не привёл готовый код, а только название функции, и надо самому лезть в ман, читать и писать, то, конечно же, больше подошёл вариант ForJest
кто бы сомневался.
Фанат
Чем проще регулярные выражения за 3 арифметические операции?
PHP:
function digit($value,$dig){
return (int)($value*pow(10,$dig))/pow(10,$dig);
}
function digit($value,$dig){
return preg_replace("/(\d+)(\.)([\d]{".$dig."})(\d+)/","$1$2$3",$value);
}
Я все таки думаю, что в данном контексте лучше использовать первый вариант. Кроме того время выполнения первого варианта как минимум на порядок меньше второго.
при чём здесь регулярные выражения?
если целая часть может быть любой, то да, математикой бысрее.
если же исходить из условий задачи, как она была поставлена, то строками быстрее