Sujet : Re: C Non-Programming Non-Challenge
De : nospam (at) *nospam* dfs.com (DFS)
Groupes : comp.os.linux.advocacyDate : 17. Jun 2024, 20:30:47
Autres entêtes
Message-ID : <667080d6$0$3747318$882e4bbb@reader.netnews.com>
References : 1 2 3 4 5 6
User-Agent : Betterbird (Windows)
On 6/16/2024 8:04 PM, vallor wrote:
50:11,188,719,610,782,480,504,630,258,070,757,734,324,011,354,208,865,721,592,720,336,801
(I wrote a function to format the numbers.)
in C?
Here's a generalized python function I just wrote that puts whatever character at whatever spacing, working from the end.
------------------------------------------------------------------------
def strfmt(val,char,space):
if space >= len(str(val)):
print("Spacing of %d is too large for '%s'" % (space,str(val)))
return
if len(str(val)) > space:
begin = len(str(val)) - space
end = begin + space
sval = '' #output string
while begin > 0:
sval = str(char) + str(val)[begin:end] + sval
begin -= space
end -= space
sval = str(val)[0:end] + sval #remainder
print(sval)
else:
print(str(val))
------------------------------------------------------------------------
strfmt(11188719610782480504630258070757734324011354208865721592720336801,',',3)
11,188,719,610,782,480,504,630,258,070,757,734,324,011,354,208,865,721,592,720,336,801
strfmt(1234,',',3)
1,234
strfmt(12345,',',3)
12,345
strfmt(123456,',',3)
123,456
strfmt(1234567,'-',2)
1-23-45-67
strfmt(12345678,'.',1)
1.2.3.4.5.6.7.8
strfmt(123456789,' ',3)
123 456 789
strfmt(1234567890,',',3)
1,234,567,890
strfmt('abc','-',4)
Spacing of 4 is too large for 'abc'
strfmt('abcdef','_',1)
a_b_c_d_e_f
strfmt(11188719610782480504630258070757734324011354208865721592720336801,' ',4)
1 1188 7196 1078 2480 5046 3025 8070 7577 3432 4011 3542 0886 5721 5927 2033 6801