http://www.leemon.com/crypto/BigInt.js
私はleemon bigint.jsライブラリを使用しています
http://smart2.qred.fi/js/jknc.jsに相当する c# クラスを作成します。
この行に何を書くべきか混乱しています
var bigInteger = new BigInt(convert);
私のC#クラスを適切にすることができます。
このhttp://www.jknc.eu/RFcalculatorの c# クラスを作成します。これは、c# http://smart2.qred.fi/js/jknc.jsで記述する必要がある JS ファイルです。クラスですが、作成者サイトで確認した書き込み結果を取得できません。
私はこの関数を書きます
public string jknc_calculate_creditor_reference(string text)
{
//var bigInteger=new BigInt( convert_text_to_digits(text+'RF00') );
BigInteger biginteger = new BigInteger(Convert.ToInt16(convert_text_to_digits(text + "RF00")));
//$('integer_calculate').innerhtml=biginteger.tostring();
//var mod = bigint_mod(biginteger, new bigint(97));
//var y = bigint_number(mod);
//BigInteger big = new BigInteger(1222222);
BigInteger mod;
BigInteger.DivRem(biginteger, new BigInteger(97), out mod);
var x = 98 - mod;
var result = "";
//$('x').innerhtml=x;
//$('y').innerhtml=y;
if (x < 10)
{
result = "0" + x;
}
else
{
result = Convert.ToString(x);
}
//$('result').innerhtml=result;
var newstr = text.Replace(" ", ""); //remove white space
string complete_result = "rf " + result + " " + format_string(newstr);
return complete_result;
//$('complete_result').innerhtml='rf '+result+ " "+format_string(newstr);
}
JSファイルの
function jknc_calculate_creditor_reference(text) {
var bigInteger = new BigInt(convert_text_to_digits(text + 'RF00'));
//$('integer_calculate').innerHTML=bigInteger.toString();
var mod = bigint_mod(bigInteger, new BigInt(97));
var y = bigint_number(mod);
var x = 98 - y;
var result = "";
//$('x').innerHTML=x;
//$('y').innerHTML=y;
if (x < 10) {
result = '0' + x;
} else {
result = x;
}
$('result').innerHTML = result;
var newStr = text.replace(/\s/g, '');
$('complete_result').innerHTML = 'RF ' + result + " " + format_string(newStr);
}
そしてそれはこのスクリプトの参照を持っています
http://www.onicos.com/staff/iz/amuse/javascript/expert/BigInt.txt
しかし、BigInt js ライブラリを修正できないため、関数で正しい結果が得られません。