В Java класс BigDecimal содержит значения в виде A * pow (10, B), где A - это дополнение к 2, нефиксированная длина бита, а B - 32-битное целое число.
В C # Десятичное число содержит значения в виде pow (-1, s) × c × pow (10, -e), где знак s равен 0 или 1, коэффициент c задается как 0 ≤ c
И я хочу преобразовать Java BigDecimal в нечто вроде c # Decimal в JAVA.Можете ли вы помочь мне.
У меня есть кое-что подобное
class CS_likeDecimal
{
private int hi;// for 32bit most sinificant bit of c
private int mid;// for 32bit in the middle
private int lo;// for 32 bit the last sinificant bit
.....
public CS_likeDecimal(BigDecimal data)
{
....
}
}
На самом деле я нашел это Каков наилучший способ представления System.Decimal в буферах протокола? .
это буфер протокола для отправки десятичного числа c #, но в проекте protobuff-net это используется для отправки сообщения между c # (но я хочу между c # и JAVA)
message Decimal {
optional uint64 lo = 1; // the first 64 bits of the underlying value
optional uint32 hi = 2; // the last 32 bis of the underlying value
optional sint32 signScale = 3; // the number of decimal digits, and the sign
}
Спасибо,