0

次のような変数 x に対応する大き​​な列があります。

198755
-235435436
4353455
-57863489
-2342345
45565768
9865385
-6534

この列を次の列に置き換えます。

1.98755
-2.35435436
4.353455
-5.7863489
-2.342345
4.5565768
9.865385
-6.534

つまり、さまざまな長さと記号の数字があり、最初の数字の後にドットセパレーターを配置したいと考えています。これどうやってするの?

4

1 に答える 1

1

文字列操作と数値操作を組み合わせるのが最善です

. gen mystr = string(mynum, "%16.0f")
. gen double newnum = real(substr(mystr,1,1) + "." + substr(mystr,2,.)) if mynum >= 0
. replace newnum = -real(substr(mystr,2,1) + "." + substr(mystr,3,.)) if mynum < 0

あなた%16.0fの例から、数字が壊れないように十分な大きさのフォーマットであると思われるものを次に示します。データに小数点がないように聞こえます。

したがって、最初の数字の後に小数点を挿入するだけです。これは、最初の文字がマイナス記号の場合は 2 番目の文字です。

于 2013-03-02T14:09:09.233 に答える