Tips

SVG/XMLで実数を扱う場合

日付2010/08/10
ID76146 (英語原文参照)
バージョンv11
プラットフォームMac/Win

4DのString関数は, 実数を文字列に変換する場合, ロケールを考慮した値, つまり米国であれば"3.14", 欧州であれば"3,14"のような文字列を返すコマンドです。これは一般的な用途には便利ですが, SVG/XMLはロケールに関係なく, 小数点はプリオドで統一されているので, 注意しなけれなばりません。たとえば, SVG SET ATTRIBUTEコマンドは属性の値を文字または整数で受け取るので, 実数値は常に少数点にピリオドが使用されるよう, String関数の返り値がそのまま渡されないように工夫する必要があるかもしれません。

$translate_x:=SVG_stringWrapper ($rectspace*$rectwidth)+($rectwidth/2)
$translate_y:=SVG_stringWrapper (0.65*$svg_height)
$text_transform:="translate("+$translate_x+","+$translate_y+")"
SVG SET ATTRIBUTE(*;"myPic";"myID";"transform";$text_transform)
   //Name: SVG_stringWrapper
   //Description: always returns Text with "." instead of "," in strings

C_TEXT($0)
C_REAL($1)

$0:=Replace string(String($1);",";".")