我正在使用Ruby1.8.7和Rails2.3.5。如果我有一个像12.525这样的float,如何获取小数点后的位数?在这种情况下,我希望得到“3”。 最佳答案 我猜是这样的:n=12.525n.to_s.split('.').last.size 关于ruby-on-rails-如何计算Float中的小数位数?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8597766/
我想将RubyBigDecimal对象转换为漂亮的、可打印的货币值。所以我想让它打印到小数点后两位。我该怎么做?如您所见,以下方法均无效:irb(main):033:0>v=BigDecimal("7.1762")=>#irb(main):034:0>v.to_s('2F')=>"7.1762"irb(main):035:0>v.to_s('F')=>"7.1762"irb(main):036:0>v.to_s('%0.2F')=>"0.71762E1"irb(main):037:0>v.to_s('%0.2f')=>"0.71762E1"irb(main):038:0>哪个表达式只会
我正在处理货币,我想将数字向下舍入到小数点后两位。即使数字是500.0,我也希望它是500.00以保持一致。当我执行“500.00”.to_d时,它会将其转换为500.0。改变这种行为的好方法是什么?我还使用这种方法向下舍入到2位数字,并确保它始终有2位小数。defself.round_down(x,n=2)s=x.to_sl=s.index('.')?s.index('.')+1+n:s.lengths=s[0,l]s=s.index('.')?s.length-(s.index('.')+1)==1?s 最佳答案 除了mcfin
我正在尝试转换一组数字,使每个数字只有一个非零数字。所以基本上"7970521.5544"会给我["7000000","900000","70000","500","20","1",".5",".05",".004",".0004"]我试过:varj="7970521.5544"vark=j.replace('.','')varresult=k.split('')for(vari=0;i任何想法,我不确定从这里去哪里? 最佳答案 算法:Split使用十进制表示法将数字分为两部分。运行一个for循环,将每个数字乘以相应的10次幂,例如
我想生成一个1到10之间的随机数,最多保留2位小数,我目前正在使用下面的这个来生成我的号码,varrandomnum=Math.floor(Math.random()*(10.00-1.00+1.00))+1.00;最后,我想知道如何生成这样的数字:1.665.868.34格式为:varrandomnum=然后是代码旁注:我不记得为什么我以前那样生成我的数字,但记得一些关于Math.random生成小数点后8位数字的事情。感谢您的帮助!:)Ps:我看过很多关于等待向下或向上舍入生成的数字的帖子,但还没有找到一个想要直接生成它们的帖子。更新:我想要一个数字值而不是一个看起来像数字的字符串
我正在努力完成三件事-我想缩短大数字并添加K/M/B后缀我希望能够强制小数位数我希望能够强制将数千表示为百万的小数只需缩短,四舍五入到小数点后两位1200000---->>>120万1248000---->>>125万248000---->>>248K缩短,强制保留2位小数1200000---->>>120万1248000---->>>125万248000---->>>248.00K缩短,强制小数点后3位,强制几千到几百万1200000---->>>1.200M1248000---->>>1.248M248000---->>>0.248M我有一个javascript函数,我发现它可以做
我有一些针对文本框的客户端验证,它只允许最多两位小数的数字,没有其他输入。此脚本仅作为输入数值的基础,但需要对其进行调整,以便它可以采用小数点后跟最多两位小数。我已经尝试过诸如/[^\d].\d{0,2}之类的东西,但是替换调用不起作用,我不知道如何去做。代码functionvalid(f){if(!/^\d*$/.test(f.value)){f.value=f.value.replace(/[^\d]/g,"");alert("Invalidnumber");}}注意事项我需要匹配一个空字符串。如果提供空字符串并提交表单,则该值默认返回零。 最佳答案
我有一个XML文档,其中应报告特定xs:decimal的小数位数保存在同级节点中。我目前正在努力寻找一种简单的方法来通过format-number函数输出它。我可以使用其他一些函数构建一个图片字符串,但是对于本应(至少在我看来)相对简单和常见的任务来说,这似乎过于冗长了。例如我目前正在做的是这样的:有没有更好的办法? 最佳答案 很好的问题!这通常意味着,我不知道答案,但我希望其他人知道,因为这对我来说也是一种痛苦。无论如何,我做了一些搜索,我认为round-half-to-even函数可能会成功(http://www.xqueryf
我有一个项目,我需要对一个xml文件进行二进制64位编码并将其放入另一个xml中。为了让它工作,我首先使用dp:serialize序列化xml,然后对由此产生的变量使用dp:binary-encode。除了所有斯堪的纳维亚字符都被转义之外,这工作正常。当我解码结果时,åäö变成了åäö。有什么想法吗?我试过在输出标签上使用dp:escaping="minimum"(xsl:output标签会影响dp:serialize吗?)和许多其他选项。通过在二进制64位编码之前打印序列化结果,我看到在调用dp:serialize时添加了转义。是否可以在不转义数据电源的情况下进行序列化?
我想将数字的小数位数限制为正好2。例如-1.00有效,但1、1.0和1.000均无效。这是一个类似的问题:Specifyamountofdecimalplacesofanxs:decimalinanXMLschema这是提供的答案:不幸的是,这仅将小数位数限制为2,并允许具有零位或一位小数的数字。 最佳答案 您可以使用正则表达式将小数位数强制为正好两位,但这样做明智吗?对于生成本应符合此模式的文档的任何人来说,您的生活都变得更加艰难。例如,他们将无法使用XSLT或XQuery生成的默认序列化,而必须自己编写。将规范更改为在接受的内容