标签: decimal-point

将double拆分为两个int,小数点前一个int,后一个int

我需要将一个double值拆分为两个int值,一个在小数点之前,一个在after之后.小数点后的int应该有两位数.

例:

    10.50 = 10 and 50
    10.45 = 10 and 45
    10.5  = 10 and 50
Run Code Online (Sandbox Code Playgroud)

c# double int decimal-point

16
推荐指数
3
解决办法
4万
查看次数

转换浮点数的基数而不会丢失精度

术语

在这个问题中,我称之为"浮点数""十进制数",以防止使用float/ doubleJava原始数据类型进行ambiguation .术语"十进制"与"基数10"无关.

背景

我用这种方式表示任何基数的十进制数:

class Decimal{
    int[] digits;
    int exponent;
    int base;
    int signum;
}
Run Code Online (Sandbox Code Playgroud)

它大致表达了这个double值:

public double toDouble(){
    if(signum == 0) return 0d;
    double out = 0d;
    for(int i = digits.length - 1, j = 0; i >= 0; i--, j++){
        out += digits[i] * Math.pow(base, j + exponent);
    }
    return out * signum;
}
Run Code Online (Sandbox Code Playgroud)

我知道有些转换是不可能的.例如,无法转换0.1 (base 3)为基数10,因为它是重复的小数.类似地,转换0.1 (base 9)到基础3是不可能的,但是可以进行协调0.3 (base 3).可能还有其他一些我没有考虑过的案例.

传统的方式

对于整数,从基数10到基数2的基数变化的传统方式(手动)是将数字除以2的指数,并且从基数2到基数10将数字乘以2的相应指数.从基数x变为基数 …

java algorithm math decimal-point base

15
推荐指数
1
解决办法
1050
查看次数

Python,确定字符串是否应转换为Int或Float

我想将字符串转换为最可能的数据类型:int或float.

我有两个字符串:

value1="0.80"     #this needs to be a float
value2="1.00"     #this needs to be an integer.
Run Code Online (Sandbox Code Playgroud)

我如何确定value1应该是Float,而value2应该是Python中的Integer?

python decimal-point type-conversion

14
推荐指数
4
解决办法
2万
查看次数

如何对有理数进行"工作"重复十进制表示?

我已经想出如何使用OverBar显示重复小数的重复部分.

repeatingDecimal实际上不作为重复小数.我想做一个看起来和行为像重复小数的变体.


我如何才能让一个工作重复的十进制表示(可能使用Interpretation[])?


背景

如果我絮絮叨叨,请原谅.这是我的第一个问题,我想明确我的想法.

以下将"绘制"重复的小数.

repeatingDecimal[q2_] :=
 Module[{a},
  a[{{nr__Integer}, pt_}] := 
   StringJoin[
    Map[ToString, 
     If[pt > -1, Insert[{nr}, ".", pt + 1], 
      Join[{"."}, Table["0", {Abs[pt]}], {nr}]]]];
  (* repeating only *)

  a[{{{r__Integer}}, pt_}] := 
   Row[{".", OverBar@StringJoin[Map[ToString, {r}]]}];

  (* One or more non-repeating; 
  more than one repeating digit KEEP IN THIS ORDER!! *)
  a[{{nr__, {r__}}, pt_}] := 
   Row[{StringJoin[
      Map[ToString, 
       If[pt > -1, Insert[{nr}, ".", pt + 1], 
        Join[{"."}, Table["0", {Abs[pt]}], {nr}]]]], 
     OverBar@StringJoin[Map[ToString, {r}]]}];
  (* …
Run Code Online (Sandbox Code Playgroud)

math wolfram-mathematica decimal decimal-point fractions

12
推荐指数
1
解决办法
1929
查看次数

Rails 3浮点数或十进制表示GPS坐标

我需要将GPS坐标存储在数据库中.我听说漂浮物不如小数精确.真的吗?如果是这样,有什么理由可以使用花车?

floating-point ruby-on-rails decimal-point

12
推荐指数
2
解决办法
6001
查看次数

在excel中使用VBA截断Double

我需要截断我的double值的小数位数,以便在文本框中显示.如何用vba实现这一目标?

double excel vba decimal-point excel-vba

12
推荐指数
3
解决办法
5万
查看次数

String.Format - 如何格式化为x位数(无论小数位)?

我需要将浮点数格式化为x个字符(在我的情况下为6,包括小数点).我的输出还需要包含数字的符号

所以给定输入,这是预期的输出

1.23456   => +1.2345

-12.34567 => -12.345

-0.123456 => -0.1234

1234.567  => +1234.5
Run Code Online (Sandbox Code Playgroud)

请假设在最后一个字符之前总是有一个小数位.即没有 12345.6数字输入 - 输入将始终小于或等于9999.9.

我想这必须有条件地完成.

c# decimal-point string-formatting

12
推荐指数
1
解决办法
6645
查看次数

将列中的十进制数据与小数点,HTML5,CSS3对齐

我正在构建一个wordpress插件,它生成一个HTML表格并通过短代码发送到gravityforms html块.

我的问题是单元格内容可以包含:

  • 23.24
  • 1,234.665
  • 123.4

等等...

请注意不同的小数位数.

是否存在以小数点对齐此列数据的非黑客和最佳实践方法?在这种情况下,对齐权将不起作用.

插入0是不可接受的,因为这表示不存在准确度.

正如你所看到的,我试图align="char" char="."在td元素内部使用而没有运气.

任何人都可以提供帮助的任何帮助将不胜感激.

非常感谢.

有没有一种使用printf("%8.3f",d1)或类似的方式没有实际打印到屏幕?例如,构造变量d1以供以后使用但不实际打印它?

html php decimal-point css3 text-alignment

9
推荐指数
2
解决办法
6558
查看次数

使用多个小数点对"数字"进行排序

我有一堆"数字"有多个小数点(所以它们真的是字符串).但是,我想对它们进行排序,好像它们是数字一样.

1.1.1
10.2.3
2.6.7
21.10.4
3.10.12
4.11.5
4.1.16
6.4.23
Run Code Online (Sandbox Code Playgroud)

我希望它们按第一组数字(在第一个小数点之前)排序,然后按第二组排序,然后按第三组排序(可能继续第四组或更多).它们应按此顺序排列:

1.1.1
2.6.7
3.10.12
4.1.16
4.11.5
6.4.23
10.2.3
21.10.4
Run Code Online (Sandbox Code Playgroud)

使用JS执行此操作的最佳方法是什么?我想我可能需要将每个数字分成一个数组,但也许有更好的方法.想法?

javascript sorting decimal-point

9
推荐指数
2
解决办法
2399
查看次数

Python - 具有有限十进制数字的随机浮点数

我刚刚发现了如何在Python中创建随机数,但如果我将它们打印出来,它们都有15个十进制数字.我该如何解决这个问题?这是我的代码:

import random
import os

greaterThan = float(input("Your number will be greater than: "))
lessThan = float(input("Your number will be less than: "))
digits = int(input("Your number will that many decimal digits: "))

os.system('cls')

if digits == 15:
    print(random.uniform(greaterThan, lessThan))

if digits == 14:
    print(random.uniform(greaterThan, lessThan))

if digits == 13:
    print(random.uniform(greaterThan, lessThan))

if digits == 12:
    print(random.uniform(greaterThan, lessThan))

if digits == 11:
    print(random.uniform(greaterThan, lessThan))

if digits == 10:
    print(random.uniform(greaterThan, lessThan))
Run Code Online (Sandbox Code Playgroud)

*(这只是继续下降到0)

我知道你可以这样做,print("%.2" % someVariable)但Python用这种方法创建的随机数不会保存在任何变量中.至少我是这么认为的.我还想知道是否有一种方法让变量选择小数点的数量,print("%." + digits % …

python random decimal-point

9
推荐指数
1
解决办法
1万
查看次数