p타입 decimals 4 인 변수값에서
1234.1200 => 1234.12
1234.1230 => 1234.123
1234.0000 => 1234
식으로 소수점 이하 값이 없는 부분의 0만 지우려면 어떻게 해야하나요?
alv가 아니고 write 해야합니다. 즐거운 월요일 되십시요~
댓글 5
-
노름마치
2009.11.09 19:45
-
짭군
2009.11.09 20:22
그게 소수점뒤에 값이 있으면 나와야해서 123.0200 이면 123.02 까지 표시해야해서요.
-
짭군
2009.11.09 20:40
그냥 우선은 항목별로 자리수 하드코딩해서 뿌려주고 나중에 유지보수뷰 같은걸로 따로 관리하기로했습니다.
답변 감사드립니다~
-
사니아
2009.11.09 23:31
data: lv_value(16) type p decimals 14,
lv_char type char30.
move '12345111.02000000' to lv_value.
write lv_value to lv_char.
shift lv_char right deleting trailing '0 '(000).
shift lv_char right deleting trailing '. '(000).
shift lv_char left deleting leading space.
condense lv_char no-gaps.
WRITE lv_char. -
정군
2009.11.12 18:10
trunc를 응용하시면 됩니다.
100을 곱해서 소수점 둘째자리까지를 정수로 전환하고
trunc를 이용해서 소수점 이하를 자른 다음
다시 100으로 나누면 됩니다.
이렇게 하길 원하시나요?
DATA : lv_dec TYPE p DECIMALS 4 VALUE '123'.
DATA : lv_c(10) TYPE c.
write / lv_dec.
lv_c = TRUNC( lv_dec ).
write / lv_c.
==========================
123.0000
123