Имя: Пароль:
1C
1C 7.7
v7: Формат числа - как задать нужный мне
,
0 Looking
 
28.05.15
21:26
Доброго времени суток! Прошу подсказать, как в 7.7 задать формат числа, чтобы дробная часть была 3 знака, но если она отсутствует, то либо совсем-бы не отображалась, либо один 0.
Сейчас форматная строка выглядит так Формат(Число,"Ч14.3, ")
В итоге после запятой отображается 000, например 2 547,000. А нужно чтобы было либо 2 547 либо 2 547,0. При этом три знака после запятой иногда нужны, например 45,327.
1 Looking
 
28.05.15
21:34
+(0)я конечно могу сделать колхозный вариант, разбив целую и дробную часть
ПечатьЧисло=СокрЛП(Формат(Цел(Число),"Ч14.0, "))+","+СокрЛП(Формат(Число-Цел(Число),"Ч3"));

но ведь наверняка есть вариант форматной строки?
2 ДенисЧ
 
28.05.15
21:46
клюшки не помню....
но... "Ч(0)14.0, "
3 Looking
 
28.05.15
21:59
(2)не то
4 RomanYS
 
28.05.15
22:03
сначала формат, потом стрзаменить(...,",000","");
5 RomanYS
 
28.05.15
22:04
стрзаменить(Формат(Число,"Ч14.3, "), ",000", "")
6 Looking
 
28.05.15
22:50
(4), (5) спасибо большое!
7 NikVars
 
29.05.15
09:59
(6) У тебя 3 варианта форматирования.
Вот и обработай через "Если"
Если целое - тогда так,
Если есть дробная часть - этак...
8 NikVars
 
29.05.15
10:00
Да, нужный тебе формат удобно подбирать в пользовательском режиме в Табло.
9 lavalit
 
29.05.15
11:29
(4)(5) в этом варианте на выходе будет строка а не число. Это не смущает? Вариант (7) более приемлемый. анализируй дробное и подставляй разные форматы.
10 Pit0n_08
 
29.05.15
11:41
(9) Формат вообще-то всегда возвращает строку.
И осторожнее с стрзаменить(Формат(Число,"Ч14.3, "), ",000", "")
- может удалить "000" из середины числа!
11 Pit0n_08
 
29.05.15
11:47
+(10) тоже колхоз, но корректнее
ПечатьЧисло=?((ТекЧисло-Цел(ТекЧисло)>0,Формат(ТекЧисло,"Ч14.3, "),Формат(ТекЧисло,"Ч14.0"));
12 Wern
 
29.05.15
11:59
(10) каким это образом можно удалить 000 из средины числа если там ищется ",000"?
13 Pit0n_08
 
29.05.15
12:11
(12) не увидел "," в строке поиска
14 lavalit
 
29.05.15
13:01
(10) а ну да конечно стормозил сори))))
но можно и так
Строка(Число("127.010")) вернет "127.01"
Строка(Число("127.543")) вернет "127.543"
Строка(Число("127.00000")) вернет "127"
  короче сколько знаков в дробной неважно оно отформатирует как надо в итоге
15 lavalit
 
29.05.15
13:02
в случае топика вот так

Строка(Число(Формат(Число,"Ч14.3, "))
16 lavalit
 
29.05.15
13:14
Запятую убрать )))))) с ней не прокатит))) потом можно и заменить если надо)))

Строка(Число(СокрЛП(Формат(127.01,"Ч14.3") ))) = "127.01"
17 lavalit
 
29.05.15
13:15
да и формат то выбросить .. не нужен он
Закон Брукера: Даже маленькая практика стоит большой теории.