[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: сумма цифр строки
Guest
как можно узнать сумму цифр в строке, если в строке также могут быть нецелые числа(с десятым правда только)?

$str="121.5221";
должно получится 1+2+1.5+2+2+1=9.5



Спустя 12 минут, 6 секунд (21.09.2010 - 15:43) twin написал(а):
    $str = '121.5221';

$str = preg_replace('#(\d\.\d)|(\d{1})#', ' $1$2 ', $str);
$sum = array_sum(explode(' ', $str));

echo $sum;

Спустя 2 минуты, 38 секунд (21.09.2010 - 15:46) Guest написал(а):
twin
спасибо!

Спустя 2 минуты, 35 секунд (21.09.2010 - 15:48) Guest написал(а):
еще вопрос можно, буква W чем-то отличается, например, об буквы w, но я не знаю как объяснить лучше, что-то связано с размером, если написать www и на след строке WWW можно заметить, что вторая строка визуально длиннее, можно ли как-нибудь узнать "размер" символа?

Спустя 6 минут (21.09.2010 - 15:54) twin написал(а):
В полиграфии это называется кернинг. Это сделано специально, чтобы текст воспринимался более равномерным. Если нужно одинаково, следует выбрать моноширинный шрифт или в стилях есть какой то вариант... не помню.

Спустя 5 минут, 37 секунд (21.09.2010 - 16:00) Guest написал(а):
twin
передо мной стоит задача порезать длинное слово, НО не по кол-во символов

напишут например аааааааааааааааааааааааааааааaaaaaaaaa и WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW(пусть кол-во символов одинаковое в обоих этих словах, но визуально второе слово будет почти в 2 раза длиннее.

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

Спустя 1 минута, 32 секунды (21.09.2010 - 16:01) twin написал(а):
так не выйдет. размеры у них у всех разные. только шрифтами или стилями ровнять.

Спустя 7 минут, 11 секунд (21.09.2010 - 16:09) Guest написал(а):
twin
почему не выйдет? вот пришло предложение, заменяем каждый символ на его "размер", потом все слова засовываем в массив и по очереди суммируем все цифры в слове - а сумму сравниваем с максимальным значением. что-то в таком духе.
а чтобы с разными шрифтами не было проблем, позволяем самим устанавливать размер символа. к примеру мелкий $s(мелкий) = 0.5 ;$m(средний)=1 ну и так далее, чтобы можно было менять

Спустя 3 минуты, 34 секунды (21.09.2010 - 16:12) DedMorozzz написал(а):
Решение лишь строковыми ф-ями:
$a="121.5221";

$res = 0;
$kol = strlen($a);
for ($i=0;$i<$kol;$i++){
if($a[$i]=='.'){
$res = $res.$a[$i].$a[$i+1];
$i = $i+1;
}
else {
$res = $res + $a[$i];
}
}

echo $res;

Спустя 5 минут, 38 секунд (21.09.2010 - 16:18) twin написал(а):
Цитата
почему не выйдет?

а как ты размер узнаешь? он же в шрифте, а шрифт на компе пользователя.

Спустя 5 минут, 35 секунд (21.09.2010 - 16:23) Guest написал(а):
twin
размеры символовов относительно стандартного - я специльно посмотрел, во всех основных шрифтах разница между разными буквами и символами идентична, вот допустим букву а возьмем за стандарт(медиум) заменяем ее на 1, и все остальные буквы сравниваем с буквой а. я это займет конечно некоторое время, но я уже заметил, что где-то 7 групп рамеров нужно составить.

Спустя 3 минуты, 52 секунды (21.09.2010 - 16:27) twin написал(а):
Если получится - отпишись. Прикольно. smile.gif

Спустя 1 минута, 34 секунды (21.09.2010 - 16:29) Guest написал(а):
хорошо, я уже начал!!!!

Спустя 3 часа, 58 минут, 8 секунд (21.09.2010 - 20:27) Guest написал(а):
сделал! завтра все подкорректирую насколько знаний хватит и выложу!

Спустя 2 минуты, 35 секунд (21.09.2010 - 20:30) twin написал(а):
user posted image

Спустя 1 год, 11 месяцев, 20 дней, 3 часа, 33 минуты, 41 секунда (12.09.2012 - 00:03) Гость_Сергей написал(а):
А как получить сумму чисел из выражения
"допустим так сегодня пошел гулять в 5 часов и в 6 пришёл домой"
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.