フィールドの前に2つのゼロプレースホルダを追加しようとしましたが、実際の値は変更されません。フィールドは、MOMから引き出されている注文番号です。だから、フィールドの式は{cms.ORDERNO}
です。数字フィールドからカンマと小数点を削除します
私が'00'+{cms.ORDERNO}
を試すと、フィールドに001,254.00
が表示されます。小数点とカンマを削除して001254
と表示させるにはどうすればよいですか?
フィールドの前に2つのゼロプレースホルダを追加しようとしましたが、実際の値は変更されません。フィールドは、MOMから引き出されている注文番号です。だから、フィールドの式は{cms.ORDERNO}
です。数字フィールドからカンマと小数点を削除します
私が'00'+{cms.ORDERNO}
を試すと、フィールドに001,254.00
が表示されます。小数点とカンマを削除して001254
と表示させるにはどうすればよいですか?
通常のトリックは、左に余分な数字をたくさん入れて、あなたが本当に必要とする6つだけを右側から取ることです。これは、あなたがしようとしたとして、あなたはそれが通常のWindowsから来デフォルトの設定を使用して、フォーマット文字列を指定しない場合は1から999999
right("000000" + totext({cms.ORDERNO}, "0"), 6)
までの任意の順序番号を処理します。ちなみに、私が正確に思い出すと、cstr()
とtotext()
はほとんど同じですが、totext()
にはさらに多くのオプションがあります。
また、左に埋め込まれたゼロを生成するために、フォーマット文字列として "000000"を指定することもできます。悲しいことに、私はCrystal Reportsをインストールしていないか、あなたが確かめるためにそれをチェックします。この場合、キャンバスのフィールドの書式設定オプションを使用するだけの場合は、おそらく数式は必要ありません。数式を使用してもそれはまだ簡単です。
totext({cms.ORDERNO}, "000000")
あなたは間違いなくこの式を数回交換する必要があります。以下の式は、文字列にORDERNOを変換任意のカンマを削除し、小数点以下を末尾に、その後、最初の2つのゼロを追加します。
`00` + REPLACE(REPLACE(CSTR({cms.ORDERNO}),".00",""),",","")
cms.ORDERNO
が1,254.00
であれば、たとえば、この式からの出力は001254
私はこれがうまくいくと思いますが、注文番号は通常001254ですが、ゼロを追加しようとすると、ゼロが含まれ、小数点とカンマが追加されます。あなたが私に与えた数式を使ってみましたが、それは数式ではないと言います。私はそれを編集する前に実際の注文欄に何も小数も何もないので推測しています。この追加の情報を持つアイデア? –
ゼロを追加した後に小数点/カンマが表示された場合、操作の順序をいつでも反転できます。 'REPLACE(REPLACE(CSTR('00 '+ {cms.ORDERNO}))、"。00 "、")、 "、"、 "") 'の代わりに – 4444
のテキストが完璧に働いています。センス!すべてのあなたの助けをありがとう!!!!あなたは素晴らしいです :) –