Форматирование чисел (строк)

Dreammaker

***=Ф=***
Форматирование чисел (строк)

Есть число такого типа 3 000,00.
Ну или подобного (3 000,67, например). Как получить из него 3 000? Будут какие-то идеи?..
Пробовал number_format($w,0,'',' '), он споткнулся о пробел - выводит просто 3.
Попробовал с round(), тоже самое... sprintf кажись тоже самое. Хотя может я их просто неправильно готовлю...

МЫсли уходят в сторону каких-то запредельных кодов может кто-то на свежую голову, что-то подскажет попроще.
 

Фанат

oncle terrible
Команда форума
Есть число такого типа 3 000,00
никакого числа здесь нет.
есть дурацкая строка.
Попробовал с round(), тоже самое... sprintf кажись тоже самое. Хотя может я их просто неправильно готовлю...
эти функции работают с ЧИСЛАМИ, а не со строками.
может кто-то на свежую голову, что-то подскажет попроще.
подскажет.
прежде, чем форматировать непонятно что, надо сделать из этого непонятно чего НОРМАЛЬНОЕ ЧИСЛО
МЫсли уходят в сторону каких-то запредельных кодов
1 str_replace - это запредельный код?
 

Dreammaker

***=Ф=***
Линка, не совсем подходит. Проблема (пробел) в этом случае остаётся.

Просто привык, что в пхп на все случаи жизни есть функции :) А тут не сработала (это я относительно number_format()).

Фанат, что это строка я понимаю потому и назвал топик так.

Точнее данное образование рождается при перегонке базы из одного формата (dbf) в другой (csv) одной программой, в случае если не совсем точно задать маску. Вот и не хотел я, чтобы юзер страдал из-за своей невнимательности.

В общем в рамках поставленной задачи всё решается (спасибо Фанат и Линка натолкнули на мысль) так:
PHP:
$string=substr($string,0,strrpos($string,','))
В принципе этого достаточно для нормального вывода...

upd: Это если учесть, что может быть больше чем два десятичных знака..
 
Сверху