我有一个分数列表,例如:
data = ['24/221 ', '25/221 ', '24/221 ', '25/221 ', '25/221 ', '30/221 ', '31/221 ', '31/221 ', '31/221 ', '31/221 ', '30/221 ', '30/221 ', '33/221 ']
Run Code Online (Sandbox Code Playgroud)
我将如何将这些转换为浮点数,例如
data = ['0.10 ', '0.11 ', '0.10 ', '0.11 ', '0.13 ', '0.14 ', '0.14 ', '0.14 ', '0.14 ', '0.14 ', '0.13 ', '0.13 ', '0.15 ']
Run Code Online (Sandbox Code Playgroud)
该Fraction
模块似乎只转换为Fractions
(而不是)并float([x])
需要一个字符串或整数.
在C++中,当我计算2/3时,它会输出十进制值,我怎样才能得到原始格式(ieg 2/3)而不是0.66666667
谢谢
在Java中,我试图找到一种方法将浮点数转换为分数字符串.例如:
float num = 1.33333;
String numStr = Convert(num); // Should return "1 1/3"
float num2 = 1.333;
String numStr2 = Convert(num2); // Should also return "1 1/3"
float num3 = 0.5;
String numStr3 = Convert(num3); // Should return "1/2"
float num4 = 2.25;
String numStr4 = Convert(num4); // Should return "2 1/4"
Run Code Online (Sandbox Code Playgroud)
有任何想法如何用Java做到这一点?
无论如何在Python中计算一个分数,例如2/3或1/2,而不导入math
模块?
代码片段很简单:
# What is the cube root of your number
n = float(raw_input('Enter a number: '))
print(n**(1/3))
Run Code Online (Sandbox Code Playgroud)
非常简单的代码,但我看到它告诉我导入math
模块.我只是想将该片段添加到我正在处理的更大的代码中.我一直得到1作为我的答案,因为Python感觉像1/3是0而不是.333333333.我可以把.33333,但这只是一个临时修复,我想知道如何为未来的项目执行这个非常基本的计算.
我需要将十进制转换为分数.它很容易转换为10英尺.
1.5 => 15/10
Run Code Online (Sandbox Code Playgroud)
这可以通过以下代码完成:
public class Rational {
private int num, denom;
public Rational(double d) {
String s = String.valueOf(d);
int digitsDec = s.length() - 1 - s.indexOf('.');
int denom = 1;
for (int i = 0; i < digitsDec; i++) {
d *= 10;
denom *= 10;
}
int num = (int) Math.round(d);
this.num = num;
this.denom = denom;
}
public Rational(int num, int denom) {
this.num = num;
this.denom = denom;
}
public String toString() {
return …
Run Code Online (Sandbox Code Playgroud) 我有一个带有标题的数字数据的文本文件,其中一些数字作为分数输入,一些作为整数输入,一些作为浮点输入,例如:
col1name, col2name, col3name, col4name
1, 2, 3, 4
0.5, 0.6, 0.7, 0.8
1/2, 2/3, 3/4, 4/5
1, 0.2, 3/3, 4
Run Code Online (Sandbox Code Playgroud)
当我使用read.csv时,如何评估这些表达式并将其存储为数字?
谢谢...
我已经实现了一个浮点小数到有理分数近似的算法(例如:0.333 - > 1/3),现在我想知道,有没有办法找到满足条件的无理数.例如,给定输入0.282842712474我希望结果是sqrt(2)/ 5而不是我的算法生成的431827/1526739.唯一的条件是结果的第一个数字(转换回浮点数)应该是输入的数字,其余的无关紧要.提前致谢!
我用C++编写代码.我得到2个分数,a/b和c/d,其中a,b,c,d是int.有没有人知道如何做一个/ b> c/d没有溢出.例如,如果我将a,b,c,d设置为小于2147483647的4个最大质数.我如何确定a/b> c/d是否为真.我不允许使用除int之外的任何其他类型(即,我无法转换为long long或double).
让我们假设我们有一个代表二进制分数的字符串,例如:
".1"
Run Code Online (Sandbox Code Playgroud)
作为十进制数,这是0.5.Python中是否有一种标准方法可以将这些字符串转换为数字类型(无论是二进制还是十进制都不是非常重要).
对于整数,解决方案很简单:
int("101", 2)
>>>5
Run Code Online (Sandbox Code Playgroud)
int()接受一个可选的第二个参数来提供基数,但float()没有.
我正在寻找功能相同(我认为)的东西:
def frac_bin_str_to_float(num):
"""Assuming num to be a string representing
the fractional part of a binary number with
no integer part, return num as a float."""
result = 0
ex = 2.0
for c in num:
if c == '1':
result += 1/ex
ex *= 2
return result
Run Code Online (Sandbox Code Playgroud)
我认为这样做我想要的,虽然我可能错过了一些边缘案例.
是否有内置或标准的方法在Python中执行此操作?
对于我需要做的以下事情,我遇到了很大的困难:
a.声明包含有理数的数据结构.
湾 写f'xns将+, - ,*,/有理数.
所有f'xns必须传递3个参数,每个参数指向在a部分中声明的类型I的数据结构; 2个参数=操作数,第3个=结果.
C.编写一个f'xn,它将指向数据结构的指针作为参数,并返回数字的GCD.&denom.
d.使用c部分中的f'xn来编写一个将分数(有理数)减少到最低项的f'xn.传入指向分数的指针,并用f'xn修改分数.
即 写入输入和输出功能,以便用户可以以1/5的形式输入分数.
应允许用户输入任意数量的问题,程序应以最低的条件输出答案.
我是在正确的轨道上吗?我相信我有下降,但不是d,尤其是e.有人可以指导我或帮我纠正我的剧本吗?
int GCD (int numer, int denom)
{
int result;
while (denom > 0) {
result = numer % denom;
numer = denom;
denom = result;
}
return numer;
}
int getLCM (int numer, int denom)
{
int max;
max = (numer > denom) ? numer : denom;
while (1) {
if (max % numer == 0 && max % denom == 0)
break; …
Run Code Online (Sandbox Code Playgroud)