草庐IT

decimal-mark

全部标签

ios - 如何在不丢失精度的情况下从 String 解析 Decimal?

我在我的应用程序中处理金额,因此精度显然非常重要,Decimal/NSDecimal数字应该是快速处理金钱的方式。我想在保持精度的同时在Decimal和String之间进行转换。(解析API响应,存储到DB...)这是我目前的解决方案:privateletdotLocaleDictionary=[NSLocale.Key.decimalSeparator:"."]funcapiStringToDecimal(_string:String)->Decimal?{letnumber=NSDecimalNumber(string:string,locale:dotLocaleDictiona

ios - 无法在 Xcode 中构建,错误为 "[method] has been explicitly marked unavailable"

我在我的项目中没有做任何更改,但在构建到我的设备时突然出现这些错误:'componentsWithURL(_:resolvingAgainstBaseURL:)'isunavailable:useobjectconstruction'NSURLComponents(URL:resolvingAgainstBaseURL:)''componentsWithURL(_:resolvingAgainstBaseURL:)'hasbeenexplicitlymarkedunavailablehere(Foundation.NSURLComponents)在这一行:leturlComponent

swift - 计算 Swift 中 Float(或 Decimal)中的小数位数

例如,我想计算float(或NSDecimalNumber)中的小数位数(忽略尾随零):1.45000=>25.98=>21.00=>00.857=>35=>0我怎样才能做到这一点? 最佳答案 使用Decimal执行此操作非常简单,前提是您正确创建了Decimal。小数存储为significand*10^exponent。significand被规范化为可能的最小整数。所以对于1230,有效数是123,指数是1。对于1.23,有效数也是123,指数是-2。这导致我们:extensionDecimal{varsignificantFr

ios - 错误 "Call can throw, but is not marked with ' try' 错误未被处理”

这段代码出错“调用可以抛出,但没有标上‘try’,错误未被处理”我正在使用Xcode7.1最新的beta和swift2.0funccheckUserCredentials()->Bool{PFUser.logInWithUsername(userName!,password:password!)if(PFUser.currentUser()!=nil){returntrue}returnfalse 最佳答案 Swift2.0引入了errorhandling.该错误表明logInWithUsername:password:可能会引发错

ios - 升级到 Swift 3 : cannot override 'init' which has been marked unavailable

我刚刚继承了一个包含Apple'sResearchKit的iOS项目(RK)。我已经升级到最新版本的RK,也升级到Swift3。虽然我在iOS和RK上工作过,但我仍然不是很有信心。无论如何,有一个名为SurveyTask的类实现了来自RK的ORKOrderedTask。cannotoverride'init'whichhasbeenmarkedunavailable在这个函数的最后,stepz已经定义好了,我们有:super.init(identifier:"survey",steps:stepz)我检查了ORKOrderedTask类定义,它有一个init函数。我一直在阅读initi

json - NSJSONSerialization with small decimal numbers

我试图在NSJSONSerialization生成的一些JSON中包含Double值0.81。代码如下:letjsonInput=["value":0.81]letdata=tryNSJSONSerialization.dataWithJSONObject(jsonInput,options:NSJSONWritingOptions.PrettyPrinted)letjson=NSString(data:data,encoding:NSUTF8StringEncoding)!print(json)输出是:{"value":0.8100000000000001}但我想看到的是:{"val

java - 获取 I/art : Explicit concurrent mark sweep GC freed

我正在启动服务=>后台服务,并开始检查“新线程”中的文件,在日志中我得到以下内容,服务/应用程序暂停。日志:I/art:显式并发标记清除GC释放了25935(1686KB)个AllocSpace对象,13(903KB)个LOS对象,39%空闲,13MB/22MB,暂停649us,共43.569ms只是对SDcard中MyData中的文件进行扫描,其中包含一堆图片(约20张)。**Scan=获取图片名称并将它们保存到String中。 最佳答案 这意味着垃圾收集器正在执行其工作并释放内存。如果您经常(或始终)看到这种情况,那么您可能分配

java - 轻量级 Java Decimal 类

我正在考虑为BigDecimal编写两个有限精度的替代方案,即DecimalInt和DecimalLong。这些将能够处理int和long的实际范围内的数字,具有任意小数位数,可以以可变和不可变形式创建。我的计划是让DecimalInt支持+/-999,999,999到+/-0.999999999和DecimalLong相同,但最多18位。这将通过将DecimalInt的十进制数字计数值保持在0-9和DecimalLong的十进制数字计数值0-18以及存储为缩放int或long的实际值来完成。通常用于小数位数,例如货币和股票价格,通常为2-4位小数。基本要求是(a)精益足迹(2个类,加

java - InputStream、mark()、reset()

mark()和reset()方法是如何正确工作的(在下面的代码中),一步一步?我尝试编写自己的示例,但开始抛出错误的标记异常或类似异常,我无法理解在此代码中放置标记和重置方法的意义何在,因为我看不出有无区别。importjava.io.*;classBufferedInputStreamDemo{publicstaticvoidmain(Stringargs[]){Strings="©isacopyrightsymbol,"+"however©isn't.\n";bytebuf[]=s.getBytes();ByteArrayInputStreamin=newByte

Java:抑制警告 "X is marked unstable"

我正在使用GoogleGuava中的com.google.common.net.MediaType类库,它被标记为@Beta。我想禁止显示这被标记为不稳定的警告。我需要使用什么@SuppressWarnings键? 最佳答案 您可以使用@SuppressWarnings("UnstableApiUsage")来抑制这些警告。 关于Java:抑制警告"Xismarkedunstable",我们在StackOverflow上找到一个类似的问题: https://s