我正在尝试在我的应用程序中使用 DDMathParser,并且很难让它使用 % 符号作为百分比,而不是模数。
维基建议以下 -
% 符号通常被解释为模运算符。但是,DDMathParser.h 定义了一个编译时开关 (DD_INTERPRET_PERCENT_SIGN_AS_MOD),允许您将其更改为解释为百分比I
我在 DDMathParser.h 中添加了这个定义,但它没有奏效。表达式仍然以模数计算,这不是我想要的结果。
有没有人有这方面的经验,并且具体知道如何设置?
请指教
我正在尝试在我的应用程序中使用 DDMathParser,并且很难让它使用 % 符号作为百分比,而不是模数。
维基建议以下 -
% 符号通常被解释为模运算符。但是,DDMathParser.h 定义了一个编译时开关 (DD_INTERPRET_PERCENT_SIGN_AS_MOD),允许您将其更改为解释为百分比I
我在 DDMathParser.h 中添加了这个定义,但它没有奏效。表达式仍然以模数计算,这不是我想要的结果。
有没有人有这方面的经验,并且具体知道如何设置?
请指教
您可以使用以下
[[DDMathOperatorSet defaultOperatorSet] setInterpretsPercentSignAsModulo:NO];
我已经能够解决这个问题。首先,您必须将其添加到您的代码中,如前所述:
[[DDMathOperatorSet defaultOperatorSet] setInterpretsPercentSignAsModulo:NO];
但是,您还需要修复 DDMathParser 源代码中的错误。我一直在使用最新可用的 ObjectiveC 版本的源代码,日期为 2015 年 11 月 10 日,来自此处:https ://github.com/davedelong/DDMathParser/releases/tag/objc ,并且该错误位于 DDMathOperator.m
它在哪里说:
return OPERATOR(DDMathOperatorPercent, @[@"%"], BINARY, 0, LEFT);
将其更改为:
return OPERATOR(DDMathOperatorPercent, @[@"%"], UNARY, 0, LEFT);
就是这样 - 之后百分比计算得很好。