Biginteger/decimal

This commit is contained in:
ArchZer0
2026-08-16 14:55:25 +08:00
parent abd82e6961
commit 5b3320e65c
8 changed files with 975 additions and 6 deletions
+41
View File
@@ -0,0 +1,41 @@
#include <BigDecimal.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;
}