ロボホンともだち広場

ロブリック

これバグですかね?(v2.13.0)

これをエミュレータで実行すると、「123」と表示されます。 

JavaScriptを見ると、'toNumber'となっているので、小数点以下は無視されて数値に変換されてるからこうなるんでしょうけども。

 

そして、これをロボホン本体で実行するとなんと「ゼロ」としゃべります。
なぜ、エミュレータとロボホン本体で実行結果が違うんでしょう?

 

ちなみに「123.456」を「123.000」に変えても結果は変わりません。
エミュレータでは「123」、ロボホン本体では「ゼロ」としゃべり、これを「123」に変えると、エミュレータでは「123」、ロボホン本体も「ひゃくにじゅうさん」としゃべります。
Robohon.value()に少数が絡んだ際のバグがあるのかな?と。

 

それと要望ですが、文字列を数値に変換するブロックは少数には対応できないのでしょうか?
自分で関数を作るしかないのでしょうか?

 

せっかくsin, cosや平方根など少数関係のブロックあるのに勿体なくないです?

 

追記

初出時ロブリックのVersionをv2.12.0と書きましたが間違えてました。

正しくはv2.13.0です。

 

コメントする
1 件の返信 (新着順)

ロボホンサポートセンターによるとこれはバグではないそうです。
もう笑っちゃいますよね(笑)

不具合が判りやすいように、サンプルとしてあげたのにも関わらず、プログラムの書き方が悪いからこうなるんだそうです。はい(苦笑)

つまり、

var num;
Robohon.startBlocks();
num = 123.456
Robohon.speech(num);

と書けばいいみたいなことを言ってましたけど、これじゃ、Robohon.value()の検証にならないでしょうが・・・(笑)
大丈夫なのかな?この会社・・・。