Я пытаюсь преобразовать этот код JavaScript в C#. Это шестнадцатеричная строка, которая является значением криптотокена.
Вот что работает в JavaScript:
parseInt("0x0000000000000000000000000000000000000000000000056bc75e2d63100000", 16)
Вот что я пробовал на С#:
var result = Int16.Parse("0x0000000000000000000000000000000000000000000000056bc75e2d63100000");
Я получаю ошибку Input string was not in a correct format. Что я делаю не так?
В JavaScript это тоже не работает. Это значение слишком велико, чтобы его можно было безопасно представить в виде числа JavaScript. Вы можете попробовать BigInt.
@Pointy - это работает в JavaScript - хотя, конечно, это может быть неправильно (в данном случае это правильно)
@JaromandaX ну да, я думаю, если это криптотокен, правильный номер будет очень важен
число слишком велико. попробуйте использовать var result = new System.ComponentModel.Int128Converter().ConvertFromString(x); Кстати, 16 связано с базой... а не с int16..
@Pointy biginteger меньше на 2 позиции. 128 должно подойти.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


число слишком велико для int.
void Main()
{
string x = "0x0000000000000000000000000000000000000000000000056bc75e2d63100000";
new System.ComponentModel.Int128Converter().ConvertFromString(x).Dump();
}
результат будет 100000000000000000000
отсутствие аргумента
style- посмотритеAllowHexSpecifierв документации - конечно, число немного больше, чем Int16...