Files
BetterSTL/tests/big_decimal_test.cpp
T
2026-08-16 15:20:11 +08:00

42 lines
795 B
C++

#include <bstl/big_decimal.hpp>
#include <cassert>
#include <iostream>
#include <string>
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;
}