我试图在字段前添加两个零占位符,而不改变涉及的实际值。该字段是从MOM提取的订单号。所以现在这个字段的公式是{cms.ORDERNO}
。删除号码字段中的逗号和小数点
当我尝试'00'+{cms.ORDERNO}
该字段显示001,254.00
。如何删除小数点和逗号,以便显示001254
?
我试图在字段前添加两个零占位符,而不改变涉及的实际值。该字段是从MOM提取的订单号。所以现在这个字段的公式是{cms.ORDERNO}
。删除号码字段中的逗号和小数点
当我尝试'00'+{cms.ORDERNO}
该字段显示001,254.00
。如何删除小数点和逗号,以便显示001254
?
通常的诀窍是在左侧填充大量的额外数字,然后只从右边拿到你真正想要的六个数字。这将处理从1任何订单号999999
right("000000" + totext({cms.ORDERNO}, "0"), 6)
当你不指定格式字符串,你尝试过,它使用通常来自于Windows的默认设置。顺便说一句,如果我记得正确cstr()
和totext()
大部分是等价的,但totext()
有更多的选择。
您还应该能够指定“000000”作为格式字符串以生成左填充的零。可悲的是我没有安装Crystal Reports,或者我会检查一下,以确保它安全。如果是这种情况,那么如果您只想在画布上使用字段的格式化选项,则可能不需要公式。如果你使用公式,它仍然很简单。
totext({cms.ORDERNO}, "000000")
你一定要为此使用Replace公式几次。下面的公式转换ORDERNO成字符串,删除任何逗号和尾随小数位,然后添加两个零开头:
`00` + REPLACE(REPLACE(CSTR({cms.ORDERNO}),".00",""),",","")
因此,举例来说,如果cms.ORDERNO
是1,254.00
从这个公式的输出将001254
我认为这会工作。但是订单数量通常是001254,但是当我尝试添加零就是它包括零,然后还增加了小数和逗号。我尝试使用你给我的公式,但它说它不是一个公式,我猜这是因为在我编辑它之前,没有小数或实际顺序字段中的任何内容。任何想法与这个额外的信息? –
如果添加零后出现小数点/逗号,则可以始终翻转操作顺序。尝试'REPLACE(REPLACE(CSTR('00'+ {cms.ORDERNO}),“。00”,“”),“,”,“”)'而不是 – 4444
文本工作完美..它使这么多感!谢谢你的帮助!!!!你太棒了 :) –