- 締切済み
文字列の金額計算
jactaの回答
- jacta
- ベストアンサー率26% (845/3158)
たとえば加算であれば、下記のように筆算と同じようにすれば実現できます。 std::string add(std::string lhs, std::string rhs) { if (lhs.size() < rhs.size()) lhs.insert(0, rhs.size() - lhs.size(), '0'); else if (rhs.size() < lhs.size()) rhs.insert(0, lhs.size() - rhs.size(), '0'); std::string result; result.reserve(lhs.size() + 1); bool carry = false; for (std::string::const_reverse_iterator l = lhs.rbegin(), r = rhs.rbegin(); l != lhs.rend(); ++l, ++r) { int sum = (*l - '0') + (*r - '0') + carry; carry = (sum >= 10); if (carry) sum -= 10; result.push_back(sum + '0'); } if (carry) result.push_back('1'); std::reverse(result.begin(), result.end()); return result; } 減算や乗除算も同様です。
関連するQ&A
- 掛け算・割り算を先に計算する理由
四則演算の際、 >「掛け算」、「割り算」を先に計算して、後で「足し算」、「引き算」を計算する という計算ルールがあるのですが、なぜそんなルールがあるのでしょうか? 「掛け算」、「割り算」を先に計算するのかっていう理由を説明出来る人は非常に少ないと思われますが、理由を教えてください。 「単位」をそろえる為にあるのでしょうか? よろしくお願いいたします。
- ベストアンサー
- 数学・算数
- なぜ、分数の足し算引き算は分母をそろえないと計算できないのですか?掛け算割り算はなぜそろえなくても計算できるのですか?
なぜ、分数の足し算引き算は分母をそろえないと計算できないのですか?そして掛け算割り算はなぜそろえなくても計算できるのですか?
- ベストアンサー
- 数学・算数
- 計算の順序 a×b÷c
小学生の算数で, たし算,ひき算は,かけ算,わり算より先 たし算と,ひき算が,又は,かけ算,わり算が, 複数ある時は,普通,左からと習います。 しかし, たし算だけ, かけ算だけなら,どこからでも計算できます。 a×b÷c は,b÷cを先に計算することは,できますか? いくつか,問題を作って解いてみましたが, a×bを先に計算した時と,答えが同じになりました。 よろしくお願いします。
- 締切済み
- 数学・算数
- 分数の計算の仕方を教えてください
恥ずかしながら分数の計算(足し算、引き算、割り算、掛け算)のやり方を忘れてしまいました。 今度、派遣の登録にいくのですが、その時に簡単な計算も出るようです。 友人から分数の計算もあったと聞いたので・・・。 正直、約分と通分も怪しいです。 調べてみたのですが、分数の引き算で分からないところがありました。 問題4/5-2/3(5分の4-3分の2)で私が調べたこの問題の計算式は分子と分母に同じ数をかけて 計算過程が5×3/4×3-3×5/2×5(5×3分の4×3-3×5分の2×5)=12/15-10×15(15分の12-15分の10)=2/15(15分の2)となっていました。 同じ数をかけるのは思い出せたのですが、この問題は「3」と「5」を分子と分母にかけていますが、この「3」と「5」がどこから出てきたのかイマイチ理解できなくて困ってます。 分数の計算(足し算、引き算、割り算、掛け算)のやり方と約分・通分を分かりやすく教えてください。
- ベストアンサー
- 数学・算数