文字列フィールドの値に先行ゼロを追加する方法を考えています。たとえば、12345がありますが、012345に変換する数式が必要です。これはおそらく単純な数式であることがわかっているので、Crystalは初めてですが、機能させることができないようです。
12345 => 012345 (add leading zero to make it 6 chars)
前もって感謝します。
文字列フィールドの値に先行ゼロを追加する方法を考えています。たとえば、12345がありますが、012345に変換する数式が必要です。これはおそらく単純な数式であることがわかっているので、Crystalは初めてですが、機能させることができないようです。
12345 => 012345 (add leading zero to make it 6 chars)
前もって感謝します。
これを試して
totext(your_number, "000000");
第 1 引数: ええと、それは入力です。
2 番目の引数: 出力に必要な桁数。
たとえば、
数値 = 1234;
totext(数値, "000000");
出力:
001234
そして、固定数のゼロを追加したい場合は、次のように使用できます (先頭に 3 つのゼロを追加するため):
"000" + totext(あなたの番号, 0); // 先頭に 3 つのゼロを追加します
注: 最終的な出力は数値ではなく文字列です。
数値文字列値をゼロで特定の長さまでパディングするには、次のようにします。
local numbervar yournum := tonumber({table.your_string}); //convert to number
totext(yournumnum, '000000') //convert back to padded string of length 6
OR ユニバーサル文字列の場合
local stringvar yourstring:= {table.your_string};
local numbervar LENGTH := 10; //The desired padded string length
if length(yourstring) >= LENGTH then yourstring else
replicatestring('0',LENGTH-length(yourstring)) + yourstring
Crystalレポートで式を使用する方法、以下に式を入力します(開く(フィールドエクスプローラー)-->右クリック(式フィールド)-->新規を選択--->式名(xyz)を作成--> ** ToText({DataTable1.Sr_No},"0000") **
**の間の太字のテキストのみをコピー/貼り付けしてから、保存して閉じます
その式の後、結晶レポートに追加して実行すると、必要な答えがそこにあります。
Sr_No. 0001 0002 0003
Right("00000000"&ToText({Table.correla}),8)
フィールドに「0」+yourstringcharを置くだけです
上記のロジックは機能し、左パディングへの一般的な式です
右のパディングが必要な場合は、これを使用します
local stringvar yourstring:= {table.your_string};
local numbervar LENGTH := 10; //The desired padded string length
if length(yourstring) >= LENGTH
then yourstring
else
yourstring + replicatestring('0',LENGTH-length(yourstring))
--カンティ