Computechsoft Ответов: 1

Я не хочу круглую цифру 175


this is digit 174.90


Я применил эту формулу кристаллического отчета, но результат таков
"Только сто семьдесят пять" 174.90 (это круглая цифра)


Но я хочу этот "сто семьдесят четыре доллара и девяносто центов только" 174.90
формула находится под ниже решить эту проблему

Что я уже пробовал:

if right(Towords({Invoice_Detail.After_Invoice_Discount_Total}),2)="00" 
then
Lcase(ToWords({Invoice_Detail.After_Invoice_Discount_Total},0))+" "+"only"
else 
Lcase(ToWords({Invoice_Detail.After_Invoice_Discount_Total},0))+" and "+Lcase(ToWords(tonumber(right(Totext({Invoice_Detail.After_Invoice_Discount_Total}),2)),0))+" "+" cent only"

1 Ответов

Рейтинг:
11

OriginalGriff

Умножьте его на 100, преобразуйте в целое число.
Затем разбейте его на два значения, используя деление на и модуль 100 на целочисленные значения.
Затем напишите метод ToWords, который принимает целочисленные значения и отображает их.

(Здесь важно целое число, хранение значений с плавающей запятой означает, что вы не обязательно получаете то, что хотите с плавающей запятой).


Computechsoft

Та же проблема после умножения на 100
"Ответ таков ("только сто семьдесят пять и 90 Пайс")
Я хочу этого ("только сто семьдесят четыре и 90 Пайс"

если правильно(Towords({Invoice_Detail.After_Invoice_Discount_Total}),2 * 100)="00"
затем
Lcase(ToWords({Invoice_Detail.After_Invoice_Discount_Total},0))+" "+"только"
еще
Lcase(ToWords({Invoice_Detail.After_Invoice_Discount_Total},0))+" и "+Lcase(ToWords(tonumber(right(Totext({Invoice_Detail.After_Invoice_Discount_Total}),2)),0))+" "+"только Пайса"