- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我什至不知道如何开始,但我会尽力解释自己。
在 XML 中我必须编辑文本:
<EditText
android:id="@+id/auftraggesamt_edit_text"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:background="#616161"
android:imeOptions="actionDone"
android:inputType="number"
android:maxLength="5"
android:textAlignment="textEnd"
android:textColor="#ffffff"
android:textCursorDrawable="@color/colorWhite"
android:textStyle="bold"
/>
和
<EditText
android:id="@+id/vorgabezeit"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:background="#616161"
android:imeOptions="actionDone"
android:inputType="numberDecimal"
android:maxLength="5"
android:textAlignment="textEnd"
android:textColor="#ffffff"
android:textCursorDrawable="@color/colorWhite"
android:textStyle="bold"
/>
第一个定义为数字,第二个定义为 numberDecimal。在第一个中,我只允许插入整数,在第二个中,我还需要小数。现在,在 Java 中:
public class MainActivity extends AppCompatActivity {
int procente = 120;
int mitarbeiter = 1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
findViewById(R.id.button)
.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
displayTarget((procente / Double.parseDouble(((EditText) findViewById(R.id.vorgabezeit))
.getText().toString())) * mitarbeiter) ;
displayTime((Double.parseDouble(((EditText) findViewById(R.id.auftraggesamt_edit_text))
.getText().toString())) / ( procente / Double.parseDouble(((EditText) findViewById(R.id.vorgabezeit))
.getText().toString()) * mitarbeiter ) );
}
});
}
这里(对你来说比像我这样的新手更明显)是定义的另外 2 个变量,采用的 TextEdit 值和完成的数学运算。 (感谢另一位 stackoverflow 用户)。
现在,在下面的行中,我将值输出给用户:
private void displayTarget(double number) {
TextView priceTextView = (TextView) findViewById(R.id.rezultat);
priceTextView.setText(number + " stück/std.");}
private void displayTime(double timp) {
TextView timeTextView = (TextView) findViewById(R.id.rezultat_ore);
timeTextView.setText(timp + " std");}
现在是故事的问题部分:)
两个结果都返回一个值,例如:36.641221374045806(第二个结果:3.2749999999999995)。显示的小数位数是天文数字。 4 或 5 位小数对于我和我无法完成的数学的其他部分来说已经足够了。所以,问题是:如何使用我已有的代码限制屏幕上向用户显示的小数位数。
根据对“displayTime”进行数学计算的值,逗号之前的值我想将其按原样显示在另一个字段上,但是,在第一个数学运算后得到的小数我必须将其乘以0.6 ant 将结果添加为逗号之前的值的小数。
我希望你们中至少有人能明白我所看到的以及我尽力解释的图片。我知道我要求太多,但经过几个小时的寻找,我却空手而归。尝试了我能找到和想到的所有方法,但由于我第一周使用 Java 和 XML 时遇到了很大的限制,我可以进一步完善我的应用程序。
感谢大家抽出时间,至少阅读这个故事,然后也许抽出时间回答和解释......
最诚挚的问候,罗伯特
最佳答案
我没有正确理解你的第二个问题,但对于第一个问题,你可以使用如下所示的 DecimalFormat:
DecimalFormat format = new DecimalFormat();
format.setMaximumFractionDigits(2);
String formattedText = format.format(your_variable);
您始终可以操纵字符串来获得所需的结果。
String full = "45.98";
String substr1=full.substring(full.indexOf(".") + 1); //will return 98
String substr2=full.substring(0, full.indexOf(".")); //willreturn 45
我的印象是您必须将其显示在文本字段中。对不起。您始终可以将此字符串解析为 Double 值。
Double value = Double.parseDouble(your_string);
完成所有这些类型转换后,我确实认为可能有更好的方法来实现相同的功能。
关于java - 限制显示的小数位数并仅采用小数继续数学运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39034514/
假设我得到了两个整数 a, b 其中 a 是一个正整数并且小于 b 。我必须找到一种有效的算法,它会在 [a, b] 区间内给出 base2 位数(位数)的总和。例如,在区间 [0, 4] 中,数字之
到目前为止我已经尝试过不同的 autofilter但非选项似乎对我有用,我有许可证号列,其中应该只有 10 位数字,并且 autofilter我正在尝试查找少于或多于 10 位数字的条目, 我将该列转
谁能告诉我检查输入的数字是否为 3 位数字的正则表达式...它也不应该允许字母.... 最佳答案 3 个数字的正则表达式为 ^[0-9]{3}$ 或 ^\d{3}$ 关于javascript - 是否
我不知道这在 SQL Server 中是否可行,但我得问问它 ;-) 我在表 work 中有一个名为 duty 的列。 假设 Work.Duty 包含不同的数字,例如 (1, 2, 3, 20, 22
我正在运行一个我创建的java程序,它存储用户输入的数据。具体来说,有 4 个数组列表,分别是songName、songArtist、songYear 和songAlbum。我有一个“songYear
我不知道这在 SQL Server 中是否可行,但我得问问它 ;-) 我在表 work 中有一个名为 duty 的列。 假设 Work.Duty 包含不同的数字,例如 (1, 2, 3, 20, 22
给定一个 float ,我想使用半偶数舍入将结果四舍五入到小数点后四位,即四舍五入到下一个偶数的方法。例如,当我有以下代码片段时: #include #include int main(){
有没有一种方法可以在不使用小程序的情况下确定客户端计算机上的 jvm 位数?我确实看到了这个link但这决定了 jvm 版本而不是位数。提前致谢 最佳答案 您可以尝试确定浏览器位数 - 32 位 ja
我正在编写一个程序来计算给定数字的两个二进制表示之间的共同位数。我写的代码是: int common_bits(int a, int b) { static long binaryNo1,binary
如何使表格中的每个单元格的最小宽度为 3 位数字并且不会更大?现在我正在对 min-width 进行硬编码,但我不喜欢对值进行硬编码,因为将来我可能想更改字体。如果需要 Javascript 也没关系
我正在尝试匹配后跟一个空格或制表符和 5 个数字的单词。例如 some noise text off 12345 some noise text again. 另一个例子是: Some noise t
我在从 double 到 string 的转换时遇到问题。 我要转换: double value: 0.0772486324655191 string value: 0.077248632465519
我正在尝试实现一个使用 128 位 key 的密码。 key 计划的一部分是将 key 向右旋转 29 位,但我不确定该怎么做,因为 Java 中没有单一数据类型可以保存整个 key 。我将它存储在两
我正在尝试在 AVX2 中对 128 位数进行左旋转。由于没有直接的方法,我尝试使用左移和右移来完成我的任务。 这是我执行相同操作的代码片段。 l = 4; r = 4
我有一个 int,它的值类似于 1235 和 12890。我只想要这个 int 的前 2 位数字。我怎样才能提取它? 想了半天,想不出什么办法。 最佳答案 减少数字,直到只剩下两位数: while (
TL:DR 我想要紧跟“+”符号的任何行上的前两个数字的语法。 给定以下文本(来自熟悉的实用程序): power_meter-acpi-0 Adapter: ACPI interface power1
因此根据 cplusplus.com,当您通过以下方式将输出流的格式标志设置为科学记数法时 of.setf(ios::scientific) 您应该在指数中看到 3 位加号和一个符号。但是,我的输出似
这个问题在这里已经有了答案: How can I pad a value with leading zeros? (77 个答案) 关闭 9 年前。 如果小时数小于 10 小时,则小时数通常以个位数
我正在使用 moment.js使用根据距离/速度计算的日期时间。我也在使用 moment duration format plugin .当我将值传递给 moment.duration 然后对其进行格
我正在将一个应用程序从 .NET 移植到 Mono 运行时,并且在代码中的某个位置我可以看到一个 float 具有值 158136.422。我对 float 的理解是它是 7 位精度,那么这个数字如何
我是一名优秀的程序员,十分优秀!