我们经常会遇见这样的需求,转化字符格式。
比如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 ``.
就搞定了...
我已经快忘了'' 和``的区别...太久不用这东西