#include #include #include #include int main() { using bstl::BigDecimal; // 基本构造 BigDecimal a("123.45"); BigDecimal b("67.89"); BigDecimal c = a + b; assert(c.toString() == "191.34"); // 减法 BigDecimal d = a - b; assert(d.toString() == "55.56"); // 乘法 BigDecimal e = a * BigDecimal("2"); assert(e.toString() == "246.90"); // 比较 assert((a > b) == true); assert((a == a) == true); assert((a != b) == true); // 零 BigDecimal zero("0.0"); assert(zero.isZero()); // 负数 BigDecimal neg("-100.50"); assert(neg.sign() < 0); assert((-neg).toString() == "100.50"); std::cout << "BigDecimal tests passed\n"; return 0; }