SHA256
42 lines
795 B
C++
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;
|
|
}
|