Code review comment for lp:~rpadovani/ubuntu-calculator-app/1287340

Revision history for this message
Riccardo Padovani (rpadovani) wrote :

> One more comment:
>
> Instead of replacing:
> result = result.replace(".", separator);
> you could use toLocaleString without checking
> result = result.toPrecision(CALC.PRECISION).replace(/\.0+$/,"").toLocaleStri
> ng(Qt.locale(), "f", 0);

Doesn't work (here in Italy we use , as separator):
console.log('result: ' + result);
console.log('result.toPrecision(CALC.PRECISION).replace(/\.0+$/,"").toLocaleString(Qt.locale(), "f", 0): ' + result.toPrecision(CALC.PRECISION).replace(/\.0+$/,"").toLocaleString(Qt.locale(), "f", 0));
console.log("Qt.locale().decimalPoint " + Qt.locale().decimalPoint);

result: 12.5
result.toPrecision(CALC.PRECISION).replace(/.0+$/,"").toLocaleString(Qt.locale(), "f", 0): 12.500000
Qt.locale().decimalPoint ,

> Instead of replacing separators,
> function buttonClicked(buttonName) {
> if (buttonName === separator) {
> buttonName = '.';
> }
> keyboardButtons[buttonName].clicked();
> }
>
> function buttonReleased(buttonName) {
> if (buttonName === separator) {
> buttonName = '.';
> }
> keyboardButtons[buttonName].released();
> }
>
> try to use contruction:
> Keys.onPressed: {
> ...
> Keys.onReleased: {
> ...
>
> else if (event.text === separator) {
> buttonClicked(".")

Good idea, done!

> Instead of
> if (separator !== '.' && last.value.toString() === '.') {
> last.value = separator;
> }
> screenFormula[screenFormula.length - 1]._number +=
> last.value.toString();
>
> use:
> screenFormula[screenFormula.length - 1]._number +=
> last.value.toLocaleString(Qt.locale(), "f", 0);

Doesn't work:

console.log("last.value: " + last.value);
console.log("last.value.toLocaleString(Qt.locale(), 'f', 0): " + last.value.toLocaleString(Qt.locale(), "f", 0));
console.log("Qt.locale().decimalPoint: " + Qt.locale().decimalPoint);

last.value: .
last.value.toLocaleString(Qt.locale(), 'f', 0): .
Qt.locale().decimalPoint: ,

« Back to merge proposal