Spec addition proposal: appearance for thousands separators in numeric fields

User feature request: Automatically generate commas in value fields for every 1000

Since this isn't desired for every field and can safely be ignored by clients, it is best introduced as an appearance on integer, decimal and string-numbers fields. We just need to come up with a name for it!

@srv-twry has already written up an implementation for Collect and has used thousand-sep for now. Any other ideas?

thousands-separator may better match conventions for other appearances but it is verbose.

@martijnr @Xiphware @Frances @Lieke

One mark against thousands-separator -- "separator" is hard to spell with a lot of people wanting to put an extra "e" in there.

https://en.wikipedia.org/wiki/Decimal_mark#Digit_grouping suggests that it's mostly thousands but it doesn't have to be thousands.

I propose just separator or delimiter.

1 Like

Great to hear that this feature is being implemented!

We could consider using the same name as SurveyCTO does for this appearance: show_formatted

This may not be the most logical name but it does make it easier for users who move from SurveyCTO to ODK (or the other way around), since they don't have to adjust their XLSform definitions. I'm not sure if there are other platforms based on ODK that have this appearance option, and if so what it is called there.

Otherwise I would be in favour of Yaw's suggestions, also keeps it short :slight_smile:

1 Like

Hi @yanokwa and @LN,

I strongly support this proposal which makes numbers more readable. I, like many among you have been using numeric separators in Windows programming in VB.NET for 14 years; I know only decimal separator and thousands separator to format numbers.
The thousands separator can be a space, a comma or a dot whereas the decimal separator can be a comma or a dot. In VB.NET you can retrieve the separators used by the (Windows) operating system. I bet similar possibilities exist in other programming languages.

So here, we're talking about a thousands separator. It can be used to format any number equal to or greater than 1000 by separating groups of thousands.

I personally see no problem in using the term thousands separator (or thousands-separator or thousands-sep) because that's what it is. If it is properly explained in ODK's documentation, there should be no problem, especially that anyone using a computer must choose a decimal separator and a thousands separator, named as such in the regional settings, to set it up.

1 Like

IN computer programming we can use int for integer, in the analysis, we can use gen(In STATA) to generate a variable.
Can we use "thousand-sep" insteand of "thouasnd-separator"?

1 Like

I support this. thousands-sep sounds good to me. No objections to the other naming suggestions either.


Thanks everyone! Great to see enthusiasm around this. From what I'm reading it looks like thousands-sep has good support so let's go with that.

  • It makes it clear what kind of separator it's for (like @yanokwa points out there could be other ones)
  • Plural thousands matches common usage (like @Souirji_Abdelghani points out)
  • It matches established conventions around appearances being nouns or noun phrases with dashes to separate words
  • It avoids the challenge of spelling "separator" (and like @iamnarendrasingh points out abbreviations are common)

@Lieke I'm guessing SurveyCTO will be happy to add the alias!