Amigos programadores
soy estudiante de ing.sistemas y quisiera saber si alguien me pudiera ayudar con un trabajo , no encuentro como redondear y truncar un valor, si es posible su ayuda lo agradeseria..
- Inicie sesión o regístrese para enviar comentarios
Redonder y truncar
Redonder y truncar es algo facil, por que mejor no pones el codigo?
Para que te podamos guiar sobre lo que preguntas.
Saludos.
codigo en netbeans
es un codigo en netbeans en grafico y seria algo complicado poner todo el codigo, no hay un espacio donde subir el paquete para que me puedam ayudar ?
lo que quiero hacer es que el programa trunque y redondee el eror absoluto: espero me puedan ayudar...
---clase que calcula errores ---
import java.lang.Math;
public class Errores {
String Valor1,Valor2;
double resultado,resultado2,resultado1;
public Errores(String numero,String numero2) {
Valor1=numero;
Valor2=numero2;
}
double EAbsoluto() {
double Vexacto = Double.parseDouble(Valor1);
double Vaproxi = Double.parseDouble(Valor2);
resultado1= Vexacto - Vaproxi;
resultado= Math.abs(resultado1);
return resultado;
}
double Erelativo (){
double Vexacto = Double.parseDouble(Valor1);
resultado2= resultado/Vexacto;
return resultado2;
}
}
----metodo grafico del programa---
package metosnumeriks;
/**
*
* @author JAHAZIEL
*/
public class ventana extends javax.swing.JFrame {
/** Creates new form ventana */
public ventana() {
initComponents();
}
private void jTextField1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
Errores obj= new Errores(jTextField1.getText(), jTextField2.getText());
String msj1= "Error Estandar: "+ obj.EAbsoluto();
String msj2= "Error Relativo: "+ obj.Erelativo();
jLabel3.setText(msj1);
jLabel4.setText(msj2);
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
jLabel3.setText("");
jLabel4.setText("");
jTextField1.setText("");
jTextField2.setText("");
}
private void jTextField3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
}
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// TODO add your handling code here:
// Redondeo obj2= new Redondeo();
//String msj3="Erroor redondeado = "+obj2.redon();
// jLabel6.setText(msj3);
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new ventana().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton jButton1;
private javax.swing.JButton jButton2;
private javax.swing.JButton jButton3;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JTextField jTextField1;
private javax.swing.JTextField jTextField2;
private javax.swing.JTextField jTextField3;
// End of variables declaration
}
----main del programa ---
package metosnumeriks;
/**
*
* @author JAHAZIEL
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
ventana Ventana = new ventana();
Ventana.setVisible(true);
}
}
Math
Podrias darle una checada a class Math aqui te dejo la documentacion.
Class Math
Class DecimalFormat
Saludos.
metodos matematicos
gracias man encontre estos metodos pero no se como implementarlos al programa que tengo:
------- programa con los metodos ---
import javax.swing.*;
public class redondear {
public static void main (String[] args) {
double a=0,r=0,t=0;
String ea;
ea=JOptionPane.showInputDialog("Ingresa el valor que deseas redondeary truncar ");
a=Double.parseDouble(ea);
r=redon(a,3);
t=trunc(a,3);
JOptionPane.showMessageDialog(null,"el valor es: \n redondeo \t :"+r+" \n trucamiento:"+t," redondeo y truncamiento ",JOptionPane.INFORMATION_MESSAGE);
}
public static double redon(double val, int d){
long factor = (long)Math.pow(10,d);
val = val * factor;
long tmp = Math.round(val);
return (double)tmp / factor;
}
public static double trunc(double val, int d) {
if(val > 0){
val = Math.floor(val * Math.pow(10,d))/Math.pow(10,d);
}
else
val = Math.ceil(val * Math.pow(10,d))/Math.pow(10,d);
}
}
Saludos...
quitar static
Pues si quieres utilizar esos métodos, solo quitales el modificador static y copialos a tu clase y listo. O en su defecto dejalos en la clase que estan actualmente y desde tu clase llamalos de la forma redondear.redon(... , ....);
No eres muy bueno explicando, así que quizá no obtengas las respuestas que quieres.
Por cierto, deberías acoplarte a algunas convenciones, por ejemplo el nombre de atributos NO debe empezar con mayusculas.
Saludos!!
...
si gracias por las recomendaciones las tomare en cuenta ,es que soy nuevo en el lenguaje
Class Math
Esta clase contiene variables de campo y métodos estáticos utilizados para realizar operaciones matemáticas que van desde el cálculo de una raíz cuadrada hasta el de funciones trigonométricas. Se van a comentar los menos conocidos. Para familiarizarse con el resto ir a la API.
• static double ceil(double num): devuelve el double de tipo entero (double-entero, a partir de ahora) más cercano al argumento que se le pasa, yéndose hacia + infinito. Un double-entero es un número decimal cuya parte decimal es siempre 0.
System.out.println(Math.ceil(0.895);// muestra por consola 1.0
System.out.println(Math.ceil(-1.87);// muestra por consola –1.0
System.out.println(Math.ceil(-0.9);// muestra por consola –0.0
• static double floor(double num): ídem anterior, pero devolviendo el double-entero más cercano al argumento que se le pasa, yéndose hacia – infinito.
System.out.println(Math.floor(0.895);// muestra por consola 0.0
System.out.println(Math.floor(-1.87);// muestra por consola –2.0
System.out.println(Math.floor(-0.9);// muestra por consola –1.0
• static double rint(double num): devuelve el double-entero redondeado y asociado al argumento que se le pasa, tomando como cifra base para el redondeo, la primera después de la coma del argumento, y siguiendo los criterios habituales de redondeo.
Si se quiere redondear a partir de una determinada cifra decimal, se multiplicará por la potencia de 10 que corresponda, se aplicará el método y, después, se dividirá entre la potencia de 10 por la que anteriormente se ha multiplicado.
Si se quisiera aproximar a dos decimales:
System.out.println(Math.rint(0.891*100)/100);// muestra por consola 0.89
Como veo que lo lees solo transcribo informacion que encontre en internet "google". Y si eres nuevo pues que mas te dejo este libro Programador Certificado Java 2
Saludos.
gracias men!!!
gracias me servio fue de gran ayuda
buenos tips
y ya acave mi programa!!!!!!
salu2 y gracias!!!!