Перейти к содержимому

Фото
- - - - -

PHP - Из цифры в слово


  • Закрытая тема Тема закрыта
8 ответов в этой теме

#1 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 31 Март 2011 - 23:21

В общем задача:

нужна функция которая например из 12534 переводит в слова - двенадцать тысяч пятьсот тридцать четыре
на русском я это легко сделаю, дело в том что надо на эстонском. А я ни бум-бум в этом языке, как там разряды считаются - без понятия.

какие предложения?
  • 0

#2 POPEYE

POPEYE

    Стебно таблетку оторвал... :-) | ptrd.narod.ru

  • Постоялец
  • 4 819 сообщений

Отправлено 31 Март 2011 - 23:43

kaksteist tuhat viissada kolmkümmend neli

П.С. сделай скрипт и пусть эст какой-нить переведет )))
  • 0
I'm POPEYE The Sailor man

#3 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 12 Апрель 2011 - 22:14

Сделал на JavaScript

кому интересно - http://pcp.me/function_numbers.html

работает немного с багами, завтра уберу их.
  • 0

#4 Vitalts

Vitalts
  • Постоялец
  • 1 842 сообщений

Отправлено 13 Апрель 2011 - 08:11

П.С. сделай скрипт и пусть эст какой-нить переведет )))

Не пойдет, в каждом языке свои нюансы словестного написания чисел, а если еще и валюту добавлять...
Скрипт нужно затачивать под конкретный язык. Лучше запросить у эстоноговорящего правила перевода чисел в словестное написание и разрабатывать скрипт исходя из них. ИМХО, будет проще, нежели адаптировать скрипт одного языка под другой.

кому интересно - http://pcp.me/function_numbers.html
работает немного с багами, завтра уберу их.

Прямо совсем немного багов :)
Дробные части не обрабатывает, невалидные символы также не обрабатывает и выдает всякую чуш, лучше в таких ситуациях выдавать инвалид, чем неверные значения.
  • 0

#5 Mr. Positive

Mr. Positive
  • Пользователь
  • 849 сообщений

Отправлено 13 Апрель 2011 - 08:20

.

Сообщение изменено: Mr. Positive (13 Апрель 2011 - 08:20 )

  • 0
Former IAPB 8X.
Bachelor of Eternity

#6 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 13 Апрель 2011 - 11:37

Не пойдет, в каждом языке свои нюансы словестного написания чисел, а если еще и валюту добавлять...
Скрипт нужно затачивать под конкретный язык. Лучше запросить у эстоноговорящего правила перевода чисел в словестное написание и разрабатывать скрипт исходя из них. ИМХО, будет проще, нежели адаптировать скрипт одного языка под другой.


Прямо совсем немного багов :)
Дробные части не обрабатывает, невалидные символы также не обрабатывает и выдает всякую чуш, лучше в таких ситуациях выдавать инвалид, чем неверные значения.


дробные части и не нужны
всякую хрень вроде пробелов и букв оттуда уберу.

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

в русском так:

одна тысяча
две тысячи
три тысячи
четыре тысячи
пять тысяч

а в эстонском так:

üks tuhat
kaks tuhat
kolm tuhat
neli tuhat
viis tuhat
  • 0

#7 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 13 Апрель 2011 - 23:05

в общем все исправил, в плане технических аспектов. убрал много говнокода, переписал принцип генерации.

русский вариант закомментировал, себе оставляю эстонский, его заказчик требует.

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

#8 Vitalts

Vitalts
  • Постоялец
  • 1 842 сообщений

Отправлено 14 Апрель 2011 - 07:54

Проверки невалидных символов так и нет?
  • 0

#9 Ferzin

Ferzin
  • Постоялец
  • 1 967 сообщений

Отправлено 14 Апрель 2011 - 09:45

ээ нет. их при желании каждый может сделать сам. а у меня в системе где я это использую данные изначально валидные.
  • 0