• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

How to create a counting number but starting with Zeros

New Here ,
Sep 25, 2019 Sep 25, 2019

Copy link to clipboard

Copied

Hello

I want to create a counting number with 6 decimals. I want to get the number 934 896, but I want to start with all decimals in zero like this: 000 000.

I wrote this expression:

t = Math.floor(effect("Control del deslizador")("Deslizador"))
t += "";
t.replace(/(\d)(?=(\d\d\d)+(?!\d))/g, "$1 ");

 

But, I start with a single zero.

 

Thanks ofr your help!!

Views

6.7K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Advocate , Sep 26, 2019 Sep 26, 2019

Here is a robust way to do what you are looking for. The method of adding extra characters on left or right of the string is called padding. So here's a function that converts your number into a string and pads it to a given length of 6 characters. In case you need more '0' characters at the start, simply change number 6 to some other value.

 

Cheers.

 

function padStart(string, targetLength, character) {
	// Convert 'string' into a string primitive
	string = (string instanceof String) ? string 
...

Votes

Translate

Translate
Community Expert ,
Sep 25, 2019 Sep 25, 2019

Copy link to clipboard

Copied

Try this:

 

t = Math.floor(effect("Control del deslizador")("Deslizador"));
n = 6 - t.toString().length;
"00000".substr(0,n) + t

 

 

Dan

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 27, 2019 Sep 27, 2019

Copy link to clipboard

Copied

Hi Dan!

Your answer really helped me, although I need a space in the middle of the number like this: 000 000

With your expression I got this: 000000

I tried to mix your expression with mine, but it didn't work.

Could you help me with this issue?

 

Thanks a lot!

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Sep 27, 2019 Sep 27, 2019

Copy link to clipboard

Copied

Here's how you do it: split the string into an array of N size items (chunks) and join the result with a separator. Simply change stringchunkSize and separator variables to your needs.

 

Given a string 123456789 with a chunkSize of value 3 and a separator as - the result would be 123-456-789

 

function splitStringIntoChunks(string, chunkSize) {
	var chunks, pattern;

	// Convert 'string' into a string primitive
	string = (string instanceof String) ? string : string.toString();

	// Floor the size
	chunkSize = Math.floor(chunkSize);

	// Build RegExp pattern
	pattern = new RegExp('.{0,' + chunkSize + '}', 'g');

	// Get array of matches
	chunks = string.match(pattern);

	return chunks;
}

var string = 123456789;
var chunkSize = 3;
var separator = ' ';

var chunks = splitStringIntoChunks(string, chunkSize);
var result = chunks.join(separator);

result;

 

 

 

 

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advocate ,
Sep 26, 2019 Sep 26, 2019

Copy link to clipboard

Copied

Here is a robust way to do what you are looking for. The method of adding extra characters on left or right of the string is called padding. So here's a function that converts your number into a string and pads it to a given length of 6 characters. In case you need more '0' characters at the start, simply change number 6 to some other value.

 

Cheers.

 

function padStart(string, targetLength, character) {
	// Convert 'string' into a string primitive
	string = (string instanceof String) ? string : string.toString();
	
	// floor if number, or convert non-number to 0;
	targetLength = targetLength >> 0;

	// Assign default padding character
	character = character || ' ';

	while (string.length < targetLength) {
		string = character + string;
	}

	return string;
};

var slider = thisComp.layer('Null 1').effect('Slider Control')('Slider');
var paddedString = padStart(slider.value, 6, '0');

paddedString;

 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 29, 2020 Sep 29, 2020

Copy link to clipboard

Copied

Hi! Thank's for this! 

I have a problem with decimals though, I don't want them. How do I get rid of them? 

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 27, 2021 Sep 27, 2021

Copy link to clipboard

Copied

LATEST

Hi Tomas - was hoping you might be able to help me with a similar issue? I am trying to add a 0 just for the counting numbers 1-9 then continue normally. For example 00,01,02,03,04...10,11,12, etc. Any thoughts? Please see my post here: https://community.adobe.com/t5/after-effects-discussions/how-to-create-counting-numbers-keeping-zero...

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines