首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DecimalFormat for iOS

DecimalFormat for iOS
EN

Stack Overflow用户
提问于 2015-09-15 10:38:57
回答 1查看 687关注 0票数 1

我正在进行目标c中一个java类的移植,我在Android中有这个函数:

代码语言:javascript
复制
private boolean pointInArea(LLACoordinate A, LLACoordinate B, LLACoordinate C, LLACoordinate D, LLACoordinate P) 
{

    double[] xyA = getXYbyLLA(A);
    double[] xyB = getXYbyLLA(B);
    double[] xyC = getXYbyLLA(C);
    double[] xyD = getXYbyLLA(D);
    double[] xyP = getXYbyLLA(P);

    double areaABC = getArea(xyA, xyB, xyC);
    double areaACD = getArea(xyA, xyC, xyD);

    double areaPAB = getArea(xyP, xyA, xyB);
    double areaPBC = getArea(xyP, xyB, xyC);
    double areaPCD = getArea(xyP, xyC, xyD);
    double areaPDA = getArea(xyP, xyD, xyA);

    DecimalFormat df = new DecimalFormat("#.#########");

    double areaABCD = Double.valueOf(df.format(areaABC+areaACD).replaceAll(",","."));
    double areaABCDP = Double.valueOf(df.format(areaPAB+areaPBC+areaPCD+areaPDA).replaceAll(",","."));

    return (areaABCD == areaABCDP);
}

在Objectice中,我创建了这个类:

代码语言:javascript
复制
- (BOOL) pointInArea:(metaio::LLACoordinate)a B:(metaio::LLACoordinate)b C:(metaio::LLACoordinate)c D:(metaio::LLACoordinate)d P:(metaio::LLACoordinate)p
{

NSMutableArray *xyA = [self getXYbyLLA:a];
NSMutableArray *xyB = [self getXYbyLLA:b];
NSMutableArray *xyC = [self getXYbyLLA:c];
NSMutableArray *xyD = [self getXYbyLLA:d];
NSMutableArray *xyP = [self getXYbyLLA:p];

double areaABC = [self getArea:xyA XYB:xyB XYC:xyC];
double areaACD = [self getArea:xyA XYB:xyC XYC:xyD];

double areaPAB = [self getArea:xyP XYB:xyA XYC:xyB];
double areaPBC = [self getArea:xyP XYB:xyB XYC:xyC];
double areaPCD = [self getArea:xyP XYB:xyC XYC:xyD];
double areaPDA = [self getArea:xyP XYB:xyD XYC:xyA];

}

但我不知道如何在目标c中转换这段代码:

代码语言:javascript
复制
DecimalFormat df = new DecimalFormat("#.#########");

    double areaABCD = Double.valueOf(df.format(areaABC+areaACD).replaceAll(",","."));
    double areaABCDP = Double.valueOf(df.format(areaPAB+areaPBC+areaPCD+areaPDA).replaceAll(",","."));

有人能帮我吗?非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-15 10:52:18

实现NSNumberFormatter以按需要格式化输出。您可以修改df对象的属性值:

代码语言:javascript
复制
NSNumberFormatter *df = [[NSNumberFormatter alloc] init];

df.decimalSeparator = @".";
df.minimumFractionDigits = 1;
df.maximumFractionDigits = 5;

NSString *formattedString = [df stringFromNumber:[NSNumber numberWithDouble:areaABC+areaACD]];
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32583914

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档