0

アプリケーションで DDMathParser を使用しようとしていますが、モジュロではなく % 記号をパーセントとして使用するのに苦労しています。

ウィキは次のようにアドバイスしています-

% 記号は通常、モジュロ演算子として解釈されます。ただし、DDMathParser.h は、パーセンテージとして解釈されるように変更できるコンパイル時スイッチ (DD_INTERPRET_PERCENT_SIGN_AS_MOD) を定義します。

この定義を DDMathParser.h に追加しましたが、機能しませんでした。式はまだモジュロとして計算されており、これは私が望む結果ではありません。

誰もこれの経験があり、これを設定する方法を具体的に知っていますか?

お知らせ下さい

4

2 に答える 2

0

これで解決できました。まず、前述のように、これをコードに追加する必要があります。

[[DDMathOperatorSet defaultOperatorSet] setInterpretsPercentSignAsModulo:NO];

ただし、DDMathParser ソース コードのバグも修正する必要があります。ここから、2015 年 11 月 10 日付けの最新の利用可能な ObjectiveC バージョンのソースを使用しています: https://github.com/davedelong/DDMathParser/releases/tag/objc、およびバグは DDMAthOperator.m にあります。

それが言うところ:

return OPERATOR(DDMathOperatorPercent, @[@"%"], BINARY, 0, LEFT);

次のように変更します。

return OPERATOR(DDMathOperatorPercent, @[@"%"], UNARY, 0, LEFT);

それだけです-パーセントは後でうまく計算されます。

于 2016-05-06T22:24:03.957 に答える