processing/p5.js

`nf()` produces problematic string-formatting of negative numbers

Opened this issue · 0 comments

Most appropriate sub-area of p5.js?

  • Accessibility
  • Color
  • Core/Environment/Rendering
  • Data
  • DOM
  • Events
  • Image
  • IO
  • Math
  • Typography
  • Utilities
  • WebGL
  • Build process
  • Unit testing
  • Internationalization
  • Friendly errors
  • Other (specify if possible)

p5.js version

1.9.3

Web browser and version

Chrome 124.0.6367.208

Operating system

macOS 14.4.1

Steps to reproduce this

Steps:

  1. Call nf() with a negative number and extra left padding.
  2. Display the formatted number.

Snippet:

function setup() {
  createCanvas(400, 400);

  background(220);

  // Format a negative number with
  // extra left padding.
  let num = nf(-123, 5);

  // Style the text.
  textAlign(CENTER, CENTER);
  textSize(32);

  // Display the text.
  text(num, 200, 200); // 0-123
}

Here's the sketch for reference.

After reviewing #5710, it may be worth revisiting the string utility functions as part of p5.js 2.0.