powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Число прописью
10 сообщений из 10, страница 1 из 1
Число прописью
    #34686946
Dimas_Verbatim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может у когото есть функция которая переводит число с учетом после комы, в пропись? Поделитесь пожалуйста!
...
Рейтинг: 0 / 0
Число прописью
    #34687014
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimas_Verbatim wrote:

> Может у когото есть функция которая переводит число с учетом после комы

После чего-чего???
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число прописью
    #34687057
Dimas_Verbatim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ой!!! Запятой! это на укр!
...
Рейтинг: 0 / 0
Число прописью
    #34687064
Dim2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimas_Verbatim wrote:

> ой!!! Запятой! это на укр!

А-а-а... Поищи по форуму "сумма прописью". Не верю, что не было.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Число прописью
    #34687694
Andreev V. Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Имеется ДЛЛка для перевода сумм прописью, но переводит только целые числа. Поэтому копейки пишем числом :-)
Если интересует - давай мыло.
...
Рейтинг: 0 / 0
Число прописью
    #34687826
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andreev V. PavelИмеется ДЛЛка для перевода сумм прописью, но переводит только целые числа. Поэтому копейки пишем числом :-)
У меня на сайте лежит на PB написаная. Копейки переводить не проблема - вызвал 2 раза, к первому результату приписал руб, ко второму коп. Проблема будет - если числа не деньги...
...
Рейтинг: 0 / 0
Число прописью
    #34687862
Estets
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нужны именноо алгоритмы преобразования, то можно заглянуть на форум MS SQL там я на это натыкался.
...
Рейтинг: 0 / 0
Число прописью
    #34687910
Dimas_Verbatim
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин Марк Andreev V. PavelИмеется ДЛЛка для перевода сумм прописью, но переводит только целые числа. Поэтому копейки пишем числом :-)
У меня на сайте лежит на PB написаная. Копейки переводить не проблема - вызвал 2 раза, к первому результату приписал руб, ко второму коп. Проблема будет - если числа не деньги...
Спасибо! Уже нашел!
...
Рейтинг: 0 / 0
Число прописью
    #34688341
Andreev V. Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Локшин МаркУ меня на сайте лежит на PB написаная. Копейки переводить не проблема - вызвал 2 раза, к первому результату приписал руб, ко второму коп. Проблема будет - если числа не деньги...
Так, но не совсем. Когда встала задача, мы так и сделали - вызывали два раза.
Но тогда сумма не очень хорошо выглядит, не по-русски как-то :-)
Например, если перевести 2.02, то должно получиться два руб. две коп. А получалось, естественно, два руб. два коп.
Вообщем, бухгалтерия зарубила, пришлось копейки числом писать.
...
Рейтинг: 0 / 0
Число прописью
    #34688736
Фотография ИвановНН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
public function string of_amountinwords (readonly decimal ac_amount);/*
Функция для прописи суммы (в рублях и копейках)
ac_Amount - сумма
*/
String ls_AmountString

if (  999999999999 . 99  < ac_Amount ) then
	//сумма ограничена классом миллиардов
	ls_AmountString = String( ac_Amount, '###,###,###,###,###,###,###,###,###,###,###,###,###,##0.00' )
	return ls_AmountString
end if

/*
	k - копейки
	e - единицы
	d - десятки
	c - сотни
	t - тысячи
	m - милионы
	M - миллиарды
*/

String ls_ReplaceTable[ ] = { &
	'$$$$$$', 'eM', &
	'$$$$$', 'em', &
	'$$$$', 'et', &
	'$$$', 'e', &
	'$$', 'd', &
	'$', 'c', &
	&	
	'0c0d0et', '', &
	'0c0d0em', '', &
	'0c0d0eM', '', &
	&	
	'0c', '', &
	'1c', 'сто ', &
	'2c', 'двести ', &
	'3c', 'триста ', &
	'4c', 'четыреста ', &
	'5c', 'пятьсот ', &
	'6c', 'шестьсот ', &
	'7c', 'семьсот ', &
	'8c', 'восемьсот ', &
	'9c', 'девятьсот ', &
	&
	'1d0e', 'десять ', &
	'1d1e', 'одиннадцать ', &
	'1d2e', 'двенадцать ', &
	'1d3e', 'тринадцать ', &
	'1d4e', 'четырнадцать ', &
	'1d5e', 'пятнадцать ', &
	'1d6e', 'шестнадцать ', &
	'1d7e', 'семьнадцать ', &
	'1d8e', 'восемнадцать ', &
	'1d9e', 'девятнадцать ', &
	&
	'0d', '', &
	'2d', 'двадцать ', &
	'3d', 'тридцать ', &
	'4d', 'сорок ', &
	'5d', 'пятьдесят ', &
	'6d', 'шестьдесят ', &
	'7d', 'семьдесят ', &
	'8d', 'восемьдесят ', &
	'9d', 'девяносто ', &
	&
	'0e', '', &
	'5e', 'пять ', &
	'6e', 'шесть ', &
	'7e', 'семь ', &
	'8e', 'восемь ', &
	'9e', 'девять ', &
	&
	'1e.', 'один рубль ', &
	'2e.', 'два рубля ', &
	'3e.', 'три рубля ', &
	'4e.', 'четыре рубля ', &
	'1et', 'одна тысяча ', &
	'2et', 'две тысячи ', &
	'3et', 'три тысячи ', &
	'4et', 'четыре тысячи ', &
	'1em', 'один миллион ', &
	'2em', 'два миллиона ', &
	'3em', 'три миллиона ', &
	'4em', 'четыре миллиона ', &
	'1eM', 'один милиард ', &
	'2eM', 'два милиарда ', &
	'3eM', 'три милиарда ', &
	'4eM', 'четыре милиарда ', &
	&
	'11k', '11 копеек', &
	'12k', '12 копеек', &
	'13k', '13 копеек', &
	'14k', '14 копеек', &
	'1k', '1 копейка', &
	'2k', '2 копейки', &
	'3k', '3 копейки', &
	'4k', '4 копейки', &
	&
	'.', 'рублей ', &
	't', 'тысяч ', &
	'm', 'миллионов ', &
	'M', 'милиардов ', &
	'k', ' копеек', &
	'-', 'минус ' &
}

ls_AmountString = String( ac_Amount,'#$#$$#$$$$$$#$#$$#$$$$$#$#$$#$$$$#$#$$#$$$.##k;-#$#$$#$$$$$$#$#$$#$$$$$#$#$$#$$$$#$#$$#$$$.##k' )
if  0  < Pos( ls_AmountString, ',' ) then ls_AmountString = Replace( ls_AmountString, Pos( ls_AmountString, ',' ),  1 , '.' )

int i
for i =  1  to UpperBound( ls_ReplaceTable[ ] ) step  2 
	do while (  0  < Pos( ls_AmountString, ls_ReplaceTable[ i ] ) ) 
		ls_AmountString = Replace( ls_AmountString, Pos( ls_AmountString, ls_ReplaceTable[ i ] ), Len( ls_ReplaceTable[ i ] ), ls_ReplaceTable[ i +  1  ] )
	loop
next

ls_AmountString = Trim( Upper( Left( ls_AmountString,  1  ) ) + Lower( Mid( ls_AmountString ,  2  ) ) )

return ls_AmountString
end function
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Число прописью
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]