我們經常會遇見這樣的需求,轉化字符格式。
比如12,456.78 這樣的數字,我們會被要求轉化為123456.78這樣的
通常的做法為:
REPLACE '.' INTO str WITH test. CONDENSE str NO GAPS
然而給人的感覺很奇怪,明明我是用的''替換的,這里面是空的,愣是能替換出個空格來。
我還得自己再去掉空格。
探索了一番后,發現null和initial都不能寫,我不僅產生了一個大膽的想法
DATA: test1 TYPE string VALUE '123.456'. DATA test TYPE c. REPLACE '.' INTO test1 WITH test.
如上所示,成功的沒有成功替換掉,還是會變成一個空格,然而上帝關上了一扇門我立刻踹開了一扇窗子。
DATA: test1 TYPE string VALUE '123.456'. DATA test TYPE string. REPLACE '.' INTO test1 WITH test.
當當當!沒想到吧,只要被替換掉的字符串是string類型而不是C類型,那么就可以啦!
然而經過大佬的指點
REPLACE '.' INTO test1 WITH ``.
就搞定了...
我已經快忘了'' 和``的區別...太久不用這東西