JSONから取得した数値が指数表現になる
2 posters
Re: JSONから取得した数値が指数表現になる
jsonでは数値の指数表現が有効とされており,
数値は整数ではなく実数で扱われるので,
https://www.json.org
本来,long64をJSONデータとして扱うのはNG(まちがっている)のはずです・・が,
確かにそのような値を(テキストではなく数値で)返すREST APIを何度かみたことがあります。
そのような場合,残念ですが,
JSON Parseは使えない(数値は必ず8ビットREALで扱われるため)ということになるかと思います。
外部APIとの連携でJSON/INT64が送受信される,ということでしょうか。
数値は整数ではなく実数で扱われるので,
https://www.json.org
本来,long64をJSONデータとして扱うのはNG(まちがっている)のはずです・・が,
確かにそのような値を(テキストではなく数値で)返すREST APIを何度かみたことがあります。
そのような場合,残念ですが,
JSON Parseは使えない(数値は必ず8ビットREALで扱われるため)ということになるかと思います。
外部APIとの連携でJSON/INT64が送受信される,ということでしょうか。
miyako- 投稿数 : 468
登録日 : 2016/07/05
Re: JSONから取得した数値が指数表現になる
JSON自体に制限があるとは読み取れなかったのですがどの部分でしょうか?
Javascriptでは、9007199254740991までとい言うのは見つけたのですが、
4Dはこの数値でも指数表現になってしまいます。
以前からフィールドに一応、64bit整数とかフロートがあるのでこちらが後々使える様になるのかと思っていたのですがダメっぽいですね。
取得した値をそのまま維持してくれるだけでも良いのですが現状は他の手段を考えてみます。
Javascriptでは、9007199254740991までとい言うのは見つけたのですが、
4Dはこの数値でも指数表現になってしまいます。
以前からフィールドに一応、64bit整数とかフロートがあるのでこちらが後々使える様になるのかと思っていたのですがダメっぽいですね。
取得した値をそのまま維持してくれるだけでも良いのですが現状は他の手段を考えてみます。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: JSONから取得した数値が指数表現になる
おっしゃるとおりですね!
JSONのNumberが何ビットだとか,有効桁数がいくつだとかいう制限はありませんでした。
これは4D側(REAL)の問題です。
JSONのNumberが何ビットだとか,有効桁数がいくつだとかいう制限はありませんでした。
これは4D側(REAL)の問題です。
miyako- 投稿数 : 468
登録日 : 2016/07/05
Re: JSONから取得した数値が指数表現になる
念のためですが、v17のRリリースあたりでC_FLOATやC_LONG64の実装をお願いします。

hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Re: JSONから取得した数値が指数表現になる
hosaka wrote:念のためですが、v17のRリリースあたりでC_FLOATやC_LONG64の実装をお願いします。![]()
4DForumのフィーチャーリクエストにも同じリクエストが書き込まれてましたね。要望が多いみたいなので早期の実装を期待できるかな。
hosaka- 投稿数 : 241
登録日 : 2016/07/04
所在地 : 大阪
Permissions in this forum:
返信投稿: 不可
|
|