私はBigInt(20)データ型をmysqlデータベースの自動インクリメントIDに使用しています。 整数値が大きすぎる場合、javascriptの数値精度の後にこれをどのように扱うことができますか。これは、任意の数値を挿入して読み取ることを許可しません。だから私はこれをどのように達成することができます。大きな整数のライブラリに関する 読むが、私は期待した結果ノードjで非常に大きな数値を扱うにはどうすればよいですか?
例ではないでしょう: -
私はその指数値と任意のゴミ値を使用せずに同じ番号を印刷するにはどうすればよいvar x = 999999999999999999999999999999999999999;
?
私は例2その
var BigNumber = require('big-number');
var x = new BigNumber(999999999999999999999999999999999999999, 10);
console.log(x);
のように試してみました: -
私は最後に挿入IDを取得した場合、どのように私は、この値
connection_db.query('INSERT INTO tableName SET ?', tableData,
function (error1, results1, fields1) {
error1){
// Db error
}else{
var lastInserted = new BigNumber(results1.insertId);
console.log(lastInserted);// still wrong value
}
});
BIGINT(20)は20桁の整数を生成しないと考えてください。(20)はmysqlのzerofull関数にのみ適用されます... BIGINTの最小値と最大値はhttps://dev.mysqlです。 com/doc/refman/5.5/en/integer-types.html .. –
@robertklepは良い答えを提供します。別の考えを加えたい。あなたの具体的な環境に応じて、JavaScriptは最大2^53-1の "安全な整数"を提供します。MySQLのBIGINTは、(あなたのインストールに応じて)64ビット値です。したがって、2^53 - 1(= 9007199254740991)であれば十分ですが、とにかくこの組み合わせを使用することができます(もちろん、あなたの範囲を守ります)。 – iquellis