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

Один юань делится на 10 цзяо (角), которые, в свою очередь, делятся на 10 фыней (分). Например, сумма в 3,14 юаня произносится как 3 юаня 1 цзяо 4 фыня (三元一角四分). Слова цзяо и фынь также обозначают десятичные приставки 10−1 и 10−2 соответственно. В обращении находятся монеты номиналом 1, 2, 5 фыней, 1 и 5 цзяо, 1 юань.

ЧислоПрописью для такого случая не подойдет... надо писать свою процедуру...
---
если принципиально, то как в (11) говорили. сначала преобразуйте сумму в целые, десятичные и сотые доли, а потом 3 пары слов склеивайте
---
поделите число на 2 составляющие, первая будет отображать информацию до десятых, а вторая информацию о сотых, т.е было число 1240,32, то получится ЧислоПрописью(1240,3) + " " + ЧислоПрописью(2)
---
ЧислоПрописью(12324.45, "Л=en_US")
---
Плюс передать параметры обозначения юаней
---
Вот в параметрах и проблема... как их правильно заполнить для Юаня?
---
в С-П ЧислоПрописью
---
ЧислоПрописью(Сумма, "Л = en_US","dollar, dollars, cent, cents, 2" );
---
И с долларом и с евро у меня все получается, как для юаня команду оформить?
---
вот из википедии

Один юань делится на 10 цзяо (角), которые, в свою очередь, делятся на 10 фыней (分). Например, сумма в 3,14 юаня произносится как 3 юаня 1 цзяо 4 фыня (三元一角四分). Слова цзяо и фынь также обозначают десятичные приставки 10−1 и 10−2 соответственно. В обращении находятся монеты номиналом 1, 2, 5 фыней, 1 и 5 цзяо, 1 юань.

ЧислоПрописью для такого случая не подойдет... надо писать свою процедуру...
---
Подойдет, придется поизвращаться с получением самого значения и его представлением прописью.
для красоты можно оформить это все дело в виде отдельной функции.
---
Поизвращаться в 1с это дело привычное, а штатного способа точно нет?
---
Штатный способ: ЧислоПрописью(). Метод имеет гибкие настройки
---
поделите число на 2 составляющие, первая будет отображать информацию до десятых, а вторая информацию о сотых, т.е было число 1240,32, то получится ЧислоПрописью(1240,3) + " " + ЧислоПрописью(2)
---
1) получить курс юаней на заданное число из регистра Курсы валют
2) с помощью ЧислоПрописью получаем число на английской
---
ей на заданное число из регистра Курсы

У меня сумма уже в юанях...

(2) с помощью ЧислоПрописью получаем число на английской

Эту статью находил использовал её для других валют, там нет ничего про то как заполнять параметры для юаня...
---
я спросил, говорят можно Сообщить(ЧислоПрописью(1234.56, "Л=en_US;ДП=Истина", "rouble,roubles,kopeck,kopecks,2"));

вместо rouble,roubles - юань, юани по английски
вместо kopeck,kopecks - фэнь, фэней по английски

типа забить вообще на эти цзяо
---
Ну текущий вариант у меня так и заполнен :) но хочется даже если алгоритм будет корявый чтобы результат был корректный...
---
а вы уверены что это не корректно? я спросил у подруги, которая в Китае год прожила. Она говорит можно так говорить
---
если принципиально, то как в (11) говорили. сначала преобразуйте сумму в целые, десятичные и сотые доли, а потом 3 пары слов склеивайте
---
Пока сделал два некрасивых варианта, посмотрим какой больше понравится заказчику

```1c
    КоличествоЮаней=Цел(Сумма);
    КоличествоЦзяо=Цел((Сумма-КоличествоЮаней)*10);
    КоличествоФеней=Цел((Сумма-КоличествоЮаней-КоличествоЦзяо/10)*100);
    СтрокаЮаней = ЧислоПрописью(КоличествоЮаней, "Л=en_US; ДП=Ложь", "yuan,yuans,,,1");
    СуммаСтрокой=Лев(СтрокаЮаней,СтрНайти(СтрокаЮаней,"0")-1)+" "+Строка(КоличествоЦзяо)+ " jiao "+Строка(КоличествоФеней)+?(КоличествоФеней=1," fen"," fens");
```

```1c
    КоличествоЮаней=Цел(Сумма);
    КоличествоЦзяо=Цел((Сумма-КоличествоЮаней)*10);
    КоличествоФеней=Цел((Сумма-КоличествоЮаней-КоличествоЦзяо/10)*100);
    СтрокаЮаней = ЧислоПрописью(КоличествоЮаней, "Л=en_US; ДП=Ложь", "yuan,yuans,,,1");
    СтрокаЦзяо = ЧислоПрописью(КоличествоЦзяо, "Л=en_US; ДП=Ложь", "jiao,jiao,,,1");
    СтрокаФеней = ЧислоПрописью(КоличествоФеней, "Л=en_US; ДП=Ложь", "fen,fens,,,1");
    СуммаСтрокой=Лев(СтрокаЮаней,СтрНайти(СтрокаЮаней,"0")-1)+" "+Лев(СтрокаЦзяо,СтрНайти(СтрокаЦзяо,"0")-1)+" "+Лев(СтрокаФеней,СтрНайти(СтрокаФеней,"0")-1);
```
---
```1c
    // Формирует представление числа для определенного языка и параметров числа.
    СтроковыеФункцииКлиентСервер.СтрокаСЧисломДляЛюбогоЯзыка()
```

тоже можно попробовать, хотя там то же самое