Poslao: 06 Jul 2006 10:57
|
offline
- umpirsky
- Počasni građanin
- Pridružio: 01 Apr 2005
- Poruke: 797
- Gde živiš: Niš
|
//Ovaj kod u C#-u:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace WindowsApplication5
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
double br = 0;
for (int i = 0; i < 1000; i++)
{
br = br + (double)0.1;
rt1.AppendText(br.ToString()+"\n");
}
}
}
}
//Pravi greshku vec kod iteracije gde je br=3, zashto? Isto se deshava i u Delphi-u...kako da se ovo izbegne?
snoop.edit: koristi code tag.
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
Poslao: 06 Jul 2006 11:35
|
offline
- snoop
- Genghis Khan
- Pridružio: 18 Apr 2003
- Poruke: 8134
- Gde živiš: U kesici gumenih bombona...
|
Zanimljivo.
Probao sam ovaj code;
double br = 0;
for (int i = 0; i < 1000; i++)
{
br = br + (double)0.1;
textBox1.Text += br.ToString()+"\n";
}
I odradio je posao bez greske.
Koristio sam i StringBuilder, ali ni tu nije bilo greske.
Posto vidim da si ovo radio u VS.NET05, tu nisam probao, ali mislim da ne bi bilo nista razlicito.
Stavi umesto rt1.AppendText textBox1.Text pa vidi da li ce da radi tako.
|
|
|
|
Poslao: 06 Jul 2006 12:14
|
offline
- bobby
- Administrator
- Pridružio: 04 Sep 2003
- Poruke: 24135
- Gde živiš: Wien
|
Pricam napamet, posto ne mogu sada da isprobam, ali jesi li osigurao dovoljan broj linija u komponenti u koju unosis text?
|
|
|
|
Poslao: 06 Jul 2006 16:23
|
offline
- umpirsky
- Počasni građanin
- Pridružio: 01 Apr 2005
- Poruke: 797
- Gde živiš: Niš
|
Nemoguce, na tri racunara nece ni sa konverzijom double da radi tacno, Snoop!!!
Problem je u predstavljanju brojeva u binarnom brojnom sistemu. Sa 0.2 ili 0.5 je O.K.
Nema veze sa brojem linija.
Shto je najchudnije prva greshka se pojavljuje kod 5, a u watch kod vrednosti 3!!!
Greshka je na 10-oj 11-oj decimali...
|
|
|
|
Poslao: 07 Jul 2006 11:55
|
offline
- Bone Collector
- Legendarni građanin
- Pridružio: 18 Apr 2003
- Poruke: 5001
- Gde živiš: Beograd
|
Jesi probao ovo sto ti je snoop rekao: "Stavi umesto rt1.AppendText -> textBox1.Text pa vidi da li ce da radi tako."?
|
|
|
|
Poslao: 08 Jul 2006 08:20
|
offline
- umpirsky
- Počasni građanin
- Pridružio: 01 Apr 2005
- Poruke: 797
- Gde živiš: Niš
|
Nema to veye, on u watch pokazuje grešku.Ovo štampanje je da ne bi debugirao.
|
|
|
|
Poslao: 08 Jul 2006 12:10
|
offline
- snoop
- Genghis Khan
- Pridružio: 18 Apr 2003
- Poruke: 8134
- Gde živiš: U kesici gumenih bombona...
|
Ne razumem kako kod tebe ne radi, a kod mene radi.
Ajde uploaduj Solution da vidim.
|
|
|
|
Poslao: 08 Jul 2006 16:14
|
offline
- Dragan
- Ugledni građanin
- Pridružio: 25 Jul 2003
- Poruke: 431
- Gde živiš: Nis
|
Pratite vrednosti br-a i videcete gresku kad treba da predje sa 2.9 na 3 a pri stampanju greska se pojavljuje kad treba da predje sa 5.9 na 6. Sa 5.9 ne prelazi na 6 vec na 5.99999...Jeste li to primetili?
|
|
|
|
|
|