Replace toDouble by "replace(".", "")" to avoid bad double conversion
This commit is contained in:
parent
3ea0167b70
commit
a987c09d5d
|
@ -772,12 +772,12 @@ void AccountPanel::OnOperationModified()
|
||||||
void AccountPanel::OnAccountModified(int row, int column)
|
void AccountPanel::OnAccountModified(int row, int column)
|
||||||
{
|
{
|
||||||
User* user = _kiss->GetUser();
|
User* user = _kiss->GetUser();
|
||||||
double amount;
|
int amount;
|
||||||
int id = user->GetAccountId(_accounts[row]);
|
int id = user->GetAccountId(_accounts[row]);
|
||||||
|
|
||||||
if (_inModification || column != ACCOUNT_INIT) return;
|
if (_inModification || column != ACCOUNT_INIT) return;
|
||||||
|
|
||||||
amount = _accountsGrid->item(row, column)->text().toDouble();
|
amount = _accountsGrid->item(row, column)->text().replace(".", "").toInt();
|
||||||
|
|
||||||
_kiss->SetAccountAmount(id, _curMonth, _curYear, amount*100);
|
_kiss->SetAccountAmount(id, _curMonth, _curYear, amount*100);
|
||||||
_accountsInitValues[id] = amount;
|
_accountsInitValues[id] = amount;
|
||||||
|
|
|
@ -32,7 +32,7 @@ void FloatDelegate::setModelData(QWidget *editor, QAbstractItemModel *model,
|
||||||
QLineEdit *line = qobject_cast<QLineEdit *>(editor);
|
QLineEdit *line = qobject_cast<QLineEdit *>(editor);
|
||||||
QString s ;
|
QString s ;
|
||||||
bool ok;
|
bool ok;
|
||||||
double value = line->text().toDouble(&ok);
|
double value = line->text().replace(".", "").toInt(&ok);
|
||||||
if (ok)
|
if (ok)
|
||||||
model->setData(index, qVariantFromValue(s.sprintf("%.2lf", value)));
|
model->setData(index, qVariantFromValue(s.sprintf("%.2lf", value)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,7 @@ void FormulaDelegate::setModelData(QWidget *editor, QAbstractItemModel *model,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
res = value.toDouble(&ok);
|
res = value.replace(".", "").toInt(&ok);
|
||||||
if (ok)
|
if (ok)
|
||||||
model->setData(index, qVariantFromValue(s.sprintf("%.2lf", res)));
|
model->setData(index, qVariantFromValue(s.sprintf("%.2lf", res)));
|
||||||
}
|
}
|
||||||
|
|
|
@ -961,7 +961,7 @@ void GridAccount::OnOperationModified(int row, int col)
|
||||||
value = item(row, DEBIT)->text();
|
value = item(row, DEBIT)->text();
|
||||||
if (value.length())
|
if (value.length())
|
||||||
{
|
{
|
||||||
new_op.amount = value.toDouble()*100;
|
new_op.amount = value.replace(".", "").toInt();
|
||||||
if (new_op.amount < 0)
|
if (new_op.amount < 0)
|
||||||
{
|
{
|
||||||
new_op.amount *= -1.0;
|
new_op.amount *= -1.0;
|
||||||
|
@ -975,7 +975,7 @@ void GridAccount::OnOperationModified(int row, int col)
|
||||||
value = item(row, CREDIT)->text();
|
value = item(row, CREDIT)->text();
|
||||||
if (value.length())
|
if (value.length())
|
||||||
{
|
{
|
||||||
new_op.amount = value.toDouble()*100;
|
new_op.amount = value.replace(".", "").toInt();
|
||||||
if (new_op.amount < 0)
|
if (new_op.amount < 0)
|
||||||
{
|
{
|
||||||
new_op.amount *= -1.0;
|
new_op.amount *= -1.0;
|
||||||
|
|
Loading…
Reference in New Issue
Block a user