Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Преобразование текста 20044,34 в число, для математических операций 
V
    Опции темы
slang
Дата 14.11.2007, 10:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: нет
Всего: 0



Как совершить математические операции со следующей строкой
20 044.34
собственно скрипт
Код

$d = str_replace(".", ",", str_replace(" ", "", "20 044.34"));
print $d/100

выводит 0


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
mishaSL
Дата 14.11.2007, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 9
Всего: 54



К примеру так:
Код

<?php

$str = "20 044.34";
$d = str_replace(" ", "", $str);
$d = floatval($d);
print $d.' '.$d/100

?>



--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
slang
Дата 14.11.2007, 11:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: нет
Всего: 0



Код

$str = "20 044.34";
print "<BR>";
print "<BR>оригинал" . $str;
$d = str_replace(" ", "", $str);
$d = floatval($d);
print "<BR>вычисления " . $d.' = '.$d/100;

print "<BR>";
//$depo['deposit'] = "20 044.34";
print "<BR>оригинал" . $depo['deposit'];
$d = str_replace(" ", "", $depo['deposit']);
$d = floatval($d);
print "<BR>вычисления " . $d.' = '.$d/100;

выводит:
Цитата

оригинал20 044.34
вычисления 20044.34 = 200.4434

оригинал20 044.34
вычисления 0 = 0

если раскоментировать 
Код

$depo['deposit'] = "20 044.34";

то выводит нормально
Цитата

оригинал20 044.34
вычисления 20044.34 = 200.4434

оригинал20 044.34
вычисления 20044.34 = 200.4434



--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
mishaSL
Дата 14.11.2007, 12:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 9
Всего: 54



slang, а в чем вопрос то?


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
slang
Дата 15.11.2007, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: нет
Всего: 0



mishaSL, если строка задается в скрипте
Код

$str = "20 044.34";

то работает, а если берется из других источников, то нет, хотя визуально на экране значение одно и тоже: 20 044.34, ни каких пробелов ни в начале строки, ни в конце - нет.


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
SelenIT
Дата 15.11.2007, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 8
Всего: 401



Цитата(slang @  15.11.2007,  08:04 Найти цитируемый пост)
визуально на экране значение одно и тоже

Визуально, тем более на экране, а не в сурсе страницы - это не показатель. Что показывает такой вызов?
Код

var_dump($depo['deposit'] === "20 044.34");

И чему равны $depo['deposit'][0] и ord($depo['deposit'][0])?


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
slang
Дата 15.11.2007, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 455
Регистрация: 7.3.2004

Репутация: нет
Всего: 0



разобрался. вообще фигня вопрос был
вместо
$depo['deposit'] = str_replace(".", ",", str_replace(" ", "", $m1[0][0]));
нужно было написать
$depo['deposit'] = str_replace(".", ",", str_replace(" ", "", strip_tags($m1[0][0])));
SelenIT, спасибо. smile 


--------------------
Запчасти на иномарки www.avtograd55.ru.
Если есть время - зайдите и посоветуйте что исправить и что доработать.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.1229 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.