summaryrefslogtreecommitdiff
path: root/src/amount.h
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2013-04-29 16:36:29 -0500
committerJohn Wiegley <johnw@newartisans.com>2013-04-29 16:36:29 -0500
commit59550b7f66c31592160749c5177074f63d19fa9d (patch)
tree0b28be9ab403e67d042f74ae9d1d76d885486b18 /src/amount.h
parent385cbd25b9905b16a4c7723bb4e5a5813e84aab0 (diff)
parent6bef247759acbdc026624e78d0fd78297bc79501 (diff)
downloadfork-ledger-59550b7f66c31592160749c5177074f63d19fa9d.tar.gz
fork-ledger-59550b7f66c31592160749c5177074f63d19fa9d.tar.bz2
fork-ledger-59550b7f66c31592160749c5177074f63d19fa9d.zip
Merge branch 'next'
Diffstat (limited to 'src/amount.h')
-rw-r--r--src/amount.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/src/amount.h b/src/amount.h
index 49027bb7..938d4b7b 100644
--- a/src/amount.h
+++ b/src/amount.h
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003-2012, John Wiegley. All rights reserved.
+ * Copyright (c) 2003-2013, John Wiegley. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -346,6 +346,13 @@ public:
}
void in_place_round();
+ amount_t roundto(int places) const {
+ amount_t temp(*this);
+ temp.in_place_round();
+ return temp;
+ }
+ void in_place_roundto(int places);
+
/** Yields an amount which has lost all of its extra precision, beyond what
the display precision of the commodity would have printed. */
amount_t truncated() const {
@@ -364,6 +371,15 @@ public:
}
void in_place_floor();
+ /** Yields an amount which has lost all of its extra precision, beyond what
+ the display precision of the commodity would have printed. */
+ amount_t ceilinged() const {
+ amount_t temp(*this);
+ temp.in_place_ceiling();
+ return temp;
+ }
+ void in_place_ceiling();
+
/** Yields an amount whose display precision is never truncated, even
though its commodity normally displays only rounded values. */
amount_t unrounded() const {
@@ -777,7 +793,7 @@ inline std::istream& operator>>(std::istream& in, amount_t& amt) {
}
void put_amount(property_tree::ptree& pt, const amount_t& amt,
- bool wrap = true, bool commodity_details = false);
+ bool commodity_details = false);
} // namespace ledger