7

文字列フィールドの値に先行ゼロを追加する方法を考えています。たとえば、12345がありますが、012345に変換する数式が必要です。これはおそらく単純な数式であることがわかっているので、Crystalは初めてですが、機能させることができないようです。

12345 => 012345  (add leading zero to make it 6 chars)

前もって感謝します。

4

7 に答える 7

7

これを試して

totext(your_number, "000000");

第 1 引数: ええと、それは入力です。

2 番目の引数: 出力に必要な桁数。

たとえば、

数値 = 1234;

totext(数値, "000000");

出力:

001234

そして、固定数のゼロを追加したい場合は、次のように使用できます (先頭に 3 つのゼロを追加するため):

"000" + totext(あなたの番号, 0); // 先頭に 3 つのゼロを追加します

注: 最終的な出力は数値ではなく文字列です。

于 2014-10-24T09:53:25.673 に答える
5

数値文字列値をゼロで特定の長さまでパディングするには、次のようにします。

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
于 2012-08-14T16:33:18.843 に答える
1

Crystalレポートで式を使用する方法、以下に式を入力します(開く(フィールドエクスプローラー)-->右クリック(式フィールド)-->新規を選択--->式名(xyz)を作成--> ** ToText({DataTable1.Sr_No},"0000") **

**の間の太字のテキストのみをコピー/貼り付けしてから、保存して閉じます

その式の後、結晶レポートに追加して実行すると、必要な答えがそこにあります。

Sr_No. 0001 0002 0003

于 2016-10-25T10:35:14.887 に答える
0
Right("00000000"&ToText({Table.correla}),8)
于 2015-12-10T21:27:11.790 に答える
0

フィールドに「0」+yourstringcharを置くだけです

于 2012-08-13T20:44:06.033 に答える
0

上記のロジックは機能し、左パディングへの一般的な式です

右のパディングが必要な場合は、これを使用します

  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)) 

--カンティ

于 2014-01-09T20:03:50.557 に答える