How can I have $10$ to $99$ evaluate to $1$, $100$ to $999$ evaluate to $10$, and so on?Trajectory of a projectile meets a moving object (2D)In order to factor we must find its zeros?“Crit chance” word problemHow can I evaluate this sum of product?Algebra question leading to a 3rd order equation solving.Any other answers?Optimal Way To Get Unique Results Given Two Options of SelectingIf $11|a^100+b^100+c^100$ prove that $11^100|a^100+b^100+c^100$ . How can I prove this?How can I evaluate L.C.M for the $3$ numbers $2,2.5,3$Building an equation. Trying to figure out the relationship between variables.How to prove that it can be : $ρ=(a+d)cos θ + (b-c)sin θ =0$ while $Δ<0$

Merge pdfs sequentially

Fill area of x^2+y^2>1 and x^2+y^2>4 using patterns and tikzpicture

Where is Jon going?

How would a developer who mostly fixed bugs for years at a company call out their contributions in their CV?

How do you earn the reader's trust?

Team has team lunch everyday, am I forced to go?

If I arrive in the UK, and then head to mainland Europe, does my Schengen visa 90 day limit start when I arrived in the UK, or mainland Europe?

Possibility of faking someone's public key

Flatten not working

Why A=2 and B=1 in the call signs for Spirit and Opportunity?

Can a UK national work as a paid shop assistant in the USA?

Why is unzipped directory exactly 4.0K (much smaller than zipped file)?

Using too much dialogue?

To exponential digit growth and beyond!

Physical only checkdb is failing, but full one is completed successfully

Can I render satellite deployment impossible, or at least impractical, by exploiting the Kessler syndrome?

Was this scene in S8E06 added because of fan reactions to S8E04?

How can I minimize the damage of an unstable nuclear reactor to the surrounding area?

Ribbon Cable Cross Talk - Is there a fix after the fact?

Gravitational Force Between Numbers

What is the limit to a Glyph of Warding's trigger?

Goldfish unresponsive, what should I do?

Complications of displaced core material?

Why did Drogon spare this character?



How can I have $10$ to $99$ evaluate to $1$, $100$ to $999$ evaluate to $10$, and so on?


Trajectory of a projectile meets a moving object (2D)In order to factor we must find its zeros?“Crit chance” word problemHow can I evaluate this sum of product?Algebra question leading to a 3rd order equation solving.Any other answers?Optimal Way To Get Unique Results Given Two Options of SelectingIf $11|a^100+b^100+c^100$ prove that $11^100|a^100+b^100+c^100$ . How can I prove this?How can I evaluate L.C.M for the $3$ numbers $2,2.5,3$Building an equation. Trying to figure out the relationship between variables.How to prove that it can be : $ρ=(a+d)cos θ + (b-c)sin θ =0$ while $Δ<0$













0












$begingroup$


Sorry for the strange title, as I don't really know the proper terminology.



I need a formula that returns 1 if the supplied value is anything from 10 to 99, returns 10 if the value is anything from 100 to 999, returns 100 if the value is anything from 1000 to 9999, and so on.



I will be translating this to code and will ensure the value is never less than 1, in case that changes anything.



It's probably something really simple but I can't wrap my head around a nice way to do this so... thanks!










share|cite|improve this question











$endgroup$







  • 3




    $begingroup$
    Try logarithms (and rounding)!
    $endgroup$
    – Babelfish
    May 9 at 7:41







  • 2




    $begingroup$
    Unless time is absolutely of the essence for this operation, the best way to do it is to convert the number to a string and then take its length. This is robust and legible. Note that the mathematical functions below may suffer from floating point errors.
    $endgroup$
    – Mees de Vries
    May 9 at 12:59










  • $begingroup$
    @MeesdeVries: It's not only robust and legible; it is way shorter and probably way faster (using floating-point operations here is slow and stupid)!
    $endgroup$
    – user21820
    May 11 at 14:32















0












$begingroup$


Sorry for the strange title, as I don't really know the proper terminology.



I need a formula that returns 1 if the supplied value is anything from 10 to 99, returns 10 if the value is anything from 100 to 999, returns 100 if the value is anything from 1000 to 9999, and so on.



I will be translating this to code and will ensure the value is never less than 1, in case that changes anything.



It's probably something really simple but I can't wrap my head around a nice way to do this so... thanks!










share|cite|improve this question











$endgroup$







  • 3




    $begingroup$
    Try logarithms (and rounding)!
    $endgroup$
    – Babelfish
    May 9 at 7:41







  • 2




    $begingroup$
    Unless time is absolutely of the essence for this operation, the best way to do it is to convert the number to a string and then take its length. This is robust and legible. Note that the mathematical functions below may suffer from floating point errors.
    $endgroup$
    – Mees de Vries
    May 9 at 12:59










  • $begingroup$
    @MeesdeVries: It's not only robust and legible; it is way shorter and probably way faster (using floating-point operations here is slow and stupid)!
    $endgroup$
    – user21820
    May 11 at 14:32













0












0








0





$begingroup$


Sorry for the strange title, as I don't really know the proper terminology.



I need a formula that returns 1 if the supplied value is anything from 10 to 99, returns 10 if the value is anything from 100 to 999, returns 100 if the value is anything from 1000 to 9999, and so on.



I will be translating this to code and will ensure the value is never less than 1, in case that changes anything.



It's probably something really simple but I can't wrap my head around a nice way to do this so... thanks!










share|cite|improve this question











$endgroup$




Sorry for the strange title, as I don't really know the proper terminology.



I need a formula that returns 1 if the supplied value is anything from 10 to 99, returns 10 if the value is anything from 100 to 999, returns 100 if the value is anything from 1000 to 9999, and so on.



I will be translating this to code and will ensure the value is never less than 1, in case that changes anything.



It's probably something really simple but I can't wrap my head around a nice way to do this so... thanks!







algebra-precalculus






share|cite|improve this question















share|cite|improve this question













share|cite|improve this question




share|cite|improve this question








edited May 9 at 8:34









YuiTo Cheng

3,26271345




3,26271345










asked May 9 at 7:38









calbarcalbar

132




132







  • 3




    $begingroup$
    Try logarithms (and rounding)!
    $endgroup$
    – Babelfish
    May 9 at 7:41







  • 2




    $begingroup$
    Unless time is absolutely of the essence for this operation, the best way to do it is to convert the number to a string and then take its length. This is robust and legible. Note that the mathematical functions below may suffer from floating point errors.
    $endgroup$
    – Mees de Vries
    May 9 at 12:59










  • $begingroup$
    @MeesdeVries: It's not only robust and legible; it is way shorter and probably way faster (using floating-point operations here is slow and stupid)!
    $endgroup$
    – user21820
    May 11 at 14:32












  • 3




    $begingroup$
    Try logarithms (and rounding)!
    $endgroup$
    – Babelfish
    May 9 at 7:41







  • 2




    $begingroup$
    Unless time is absolutely of the essence for this operation, the best way to do it is to convert the number to a string and then take its length. This is robust and legible. Note that the mathematical functions below may suffer from floating point errors.
    $endgroup$
    – Mees de Vries
    May 9 at 12:59










  • $begingroup$
    @MeesdeVries: It's not only robust and legible; it is way shorter and probably way faster (using floating-point operations here is slow and stupid)!
    $endgroup$
    – user21820
    May 11 at 14:32







3




3




$begingroup$
Try logarithms (and rounding)!
$endgroup$
– Babelfish
May 9 at 7:41





$begingroup$
Try logarithms (and rounding)!
$endgroup$
– Babelfish
May 9 at 7:41





2




2




$begingroup$
Unless time is absolutely of the essence for this operation, the best way to do it is to convert the number to a string and then take its length. This is robust and legible. Note that the mathematical functions below may suffer from floating point errors.
$endgroup$
– Mees de Vries
May 9 at 12:59




$begingroup$
Unless time is absolutely of the essence for this operation, the best way to do it is to convert the number to a string and then take its length. This is robust and legible. Note that the mathematical functions below may suffer from floating point errors.
$endgroup$
– Mees de Vries
May 9 at 12:59












$begingroup$
@MeesdeVries: It's not only robust and legible; it is way shorter and probably way faster (using floating-point operations here is slow and stupid)!
$endgroup$
– user21820
May 11 at 14:32




$begingroup$
@MeesdeVries: It's not only robust and legible; it is way shorter and probably way faster (using floating-point operations here is slow and stupid)!
$endgroup$
– user21820
May 11 at 14:32










3 Answers
3






active

oldest

votes


















4












$begingroup$

I think your function is
$$f(x) = 10^left lfloor log_10(x) right rfloor - 1$$
where $lfloor r rfloor$ denotes the largest integer less than or equal to $r$.






share|cite|improve this answer









$endgroup$




















    2












    $begingroup$

    Is a mathematical formula really needed ? Or a function (in the sense of a programming language) that does this job ok? As you say you are going to translate this into code it is simpler to directly translate your description to code, without having to find a mathematical formula



    Here is it in Python: (you may have to handle numbers less than 10 differently)



    def mylog(x):



    #assumes x is a positive integer between 10 and 10^25

    tenpowers = [10**k for k in range(25)]

    for k in range(25):

    if x-1 < tenpowers[k]:

    return tenpowers[k-1]





    share|cite|improve this answer









    $endgroup$




















      0












      $begingroup$

      $f(x) = 10^[log_10 x]-1$ where $[x]$ denotes floor






      share|cite|improve this answer











      $endgroup$













        Your Answer








        StackExchange.ready(function()
        var channelOptions =
        tags: "".split(" "),
        id: "69"
        ;
        initTagRenderer("".split(" "), "".split(" "), channelOptions);

        StackExchange.using("externalEditor", function()
        // Have to fire editor after snippets, if snippets enabled
        if (StackExchange.settings.snippets.snippetsEnabled)
        StackExchange.using("snippets", function()
        createEditor();
        );

        else
        createEditor();

        );

        function createEditor()
        StackExchange.prepareEditor(
        heartbeatType: 'answer',
        autoActivateHeartbeat: false,
        convertImagesToLinks: true,
        noModals: true,
        showLowRepImageUploadWarning: true,
        reputationToPostImages: 10,
        bindNavPrevention: true,
        postfix: "",
        imageUploader:
        brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
        contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
        allowUrls: true
        ,
        noCode: true, onDemand: true,
        discardSelector: ".discard-answer"
        ,immediatelyShowMarkdownHelp:true
        );



        );













        draft saved

        draft discarded


















        StackExchange.ready(
        function ()
        StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3219428%2fhow-can-i-have-10-to-99-evaluate-to-1-100-to-999-evaluate-to-10-an%23new-answer', 'question_page');

        );

        Post as a guest















        Required, but never shown

























        3 Answers
        3






        active

        oldest

        votes








        3 Answers
        3






        active

        oldest

        votes









        active

        oldest

        votes






        active

        oldest

        votes









        4












        $begingroup$

        I think your function is
        $$f(x) = 10^left lfloor log_10(x) right rfloor - 1$$
        where $lfloor r rfloor$ denotes the largest integer less than or equal to $r$.






        share|cite|improve this answer









        $endgroup$

















          4












          $begingroup$

          I think your function is
          $$f(x) = 10^left lfloor log_10(x) right rfloor - 1$$
          where $lfloor r rfloor$ denotes the largest integer less than or equal to $r$.






          share|cite|improve this answer









          $endgroup$















            4












            4








            4





            $begingroup$

            I think your function is
            $$f(x) = 10^left lfloor log_10(x) right rfloor - 1$$
            where $lfloor r rfloor$ denotes the largest integer less than or equal to $r$.






            share|cite|improve this answer









            $endgroup$



            I think your function is
            $$f(x) = 10^left lfloor log_10(x) right rfloor - 1$$
            where $lfloor r rfloor$ denotes the largest integer less than or equal to $r$.







            share|cite|improve this answer












            share|cite|improve this answer



            share|cite|improve this answer










            answered May 9 at 7:43









            Sharky KesaSharky Kesa

            1,014413




            1,014413





















                2












                $begingroup$

                Is a mathematical formula really needed ? Or a function (in the sense of a programming language) that does this job ok? As you say you are going to translate this into code it is simpler to directly translate your description to code, without having to find a mathematical formula



                Here is it in Python: (you may have to handle numbers less than 10 differently)



                def mylog(x):



                #assumes x is a positive integer between 10 and 10^25

                tenpowers = [10**k for k in range(25)]

                for k in range(25):

                if x-1 < tenpowers[k]:

                return tenpowers[k-1]





                share|cite|improve this answer









                $endgroup$

















                  2












                  $begingroup$

                  Is a mathematical formula really needed ? Or a function (in the sense of a programming language) that does this job ok? As you say you are going to translate this into code it is simpler to directly translate your description to code, without having to find a mathematical formula



                  Here is it in Python: (you may have to handle numbers less than 10 differently)



                  def mylog(x):



                  #assumes x is a positive integer between 10 and 10^25

                  tenpowers = [10**k for k in range(25)]

                  for k in range(25):

                  if x-1 < tenpowers[k]:

                  return tenpowers[k-1]





                  share|cite|improve this answer









                  $endgroup$















                    2












                    2








                    2





                    $begingroup$

                    Is a mathematical formula really needed ? Or a function (in the sense of a programming language) that does this job ok? As you say you are going to translate this into code it is simpler to directly translate your description to code, without having to find a mathematical formula



                    Here is it in Python: (you may have to handle numbers less than 10 differently)



                    def mylog(x):



                    #assumes x is a positive integer between 10 and 10^25

                    tenpowers = [10**k for k in range(25)]

                    for k in range(25):

                    if x-1 < tenpowers[k]:

                    return tenpowers[k-1]





                    share|cite|improve this answer









                    $endgroup$



                    Is a mathematical formula really needed ? Or a function (in the sense of a programming language) that does this job ok? As you say you are going to translate this into code it is simpler to directly translate your description to code, without having to find a mathematical formula



                    Here is it in Python: (you may have to handle numbers less than 10 differently)



                    def mylog(x):



                    #assumes x is a positive integer between 10 and 10^25

                    tenpowers = [10**k for k in range(25)]

                    for k in range(25):

                    if x-1 < tenpowers[k]:

                    return tenpowers[k-1]






                    share|cite|improve this answer












                    share|cite|improve this answer



                    share|cite|improve this answer










                    answered May 9 at 8:26









                    P VanchinathanP Vanchinathan

                    15.8k12237




                    15.8k12237





















                        0












                        $begingroup$

                        $f(x) = 10^[log_10 x]-1$ where $[x]$ denotes floor






                        share|cite|improve this answer











                        $endgroup$

















                          0












                          $begingroup$

                          $f(x) = 10^[log_10 x]-1$ where $[x]$ denotes floor






                          share|cite|improve this answer











                          $endgroup$















                            0












                            0








                            0





                            $begingroup$

                            $f(x) = 10^[log_10 x]-1$ where $[x]$ denotes floor






                            share|cite|improve this answer











                            $endgroup$



                            $f(x) = 10^[log_10 x]-1$ where $[x]$ denotes floor







                            share|cite|improve this answer














                            share|cite|improve this answer



                            share|cite|improve this answer








                            edited May 9 at 7:45

























                            answered May 9 at 7:42









                            Nilotpal Kanti SinhaNilotpal Kanti Sinha

                            4,96321641




                            4,96321641



























                                draft saved

                                draft discarded
















































                                Thanks for contributing an answer to Mathematics Stack Exchange!


                                • Please be sure to answer the question. Provide details and share your research!

                                But avoid


                                • Asking for help, clarification, or responding to other answers.

                                • Making statements based on opinion; back them up with references or personal experience.

                                Use MathJax to format equations. MathJax reference.


                                To learn more, see our tips on writing great answers.




                                draft saved


                                draft discarded














                                StackExchange.ready(
                                function ()
                                StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3219428%2fhow-can-i-have-10-to-99-evaluate-to-1-100-to-999-evaluate-to-10-an%23new-answer', 'question_page');

                                );

                                Post as a guest















                                Required, but never shown





















































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown

































                                Required, but never shown














                                Required, but never shown












                                Required, but never shown







                                Required, but never shown







                                Popular posts from this blog

                                Club Baloncesto Breogán Índice Historia | Pavillón | Nome | O Breogán na cultura popular | Xogadores | Adestradores | Presidentes | Palmarés | Historial | Líderes | Notas | Véxase tamén | Menú de navegacióncbbreogan.galCadroGuía oficial da ACB 2009-10, páxina 201Guía oficial ACB 1992, páxina 183. Editorial DB.É de 6.500 espectadores sentados axeitándose á última normativa"Estudiantes Junior, entre as mellores canteiras"o orixinalHemeroteca El Mundo Deportivo, 16 setembro de 1970, páxina 12Historia do BreogánAlfredo Pérez, o último canoneiroHistoria C.B. BreogánHemeroteca de El Mundo DeportivoJimmy Wright, norteamericano do Breogán deixará Lugo por ameazas de morteResultados de Breogán en 1986-87Resultados de Breogán en 1990-91Ficha de Velimir Perasović en acb.comResultados de Breogán en 1994-95Breogán arrasa al Barça. "El Mundo Deportivo", 27 de setembro de 1999, páxina 58CB Breogán - FC BarcelonaA FEB invita a participar nunha nova Liga EuropeaCharlie Bell na prensa estatalMáximos anotadores 2005Tempada 2005-06 : Tódolos Xogadores da Xornada""Non quero pensar nunha man negra, mais pregúntome que está a pasar""o orixinalRaúl López, orgulloso dos xogadores, presume da boa saúde económica do BreogánJulio González confirma que cesa como presidente del BreogánHomenaxe a Lisardo GómezA tempada do rexurdimento celesteEntrevista a Lisardo GómezEl COB dinamita el Pazo para forzar el quinto (69-73)Cafés Candelas, patrocinador del CB Breogán"Suso Lázare, novo presidente do Breogán"o orixinalCafés Candelas Breogán firma el mayor triunfo de la historiaEl Breogán realizará 17 homenajes por su cincuenta aniversario"O Breogán honra ao seu fundador e primeiro presidente"o orixinalMiguel Giao recibiu a homenaxe do PazoHomenaxe aos primeiros gladiadores celestesO home que nos amosa como ver o Breo co corazónTita Franco será homenaxeada polos #50anosdeBreoJulio Vila recibirá unha homenaxe in memoriam polos #50anosdeBreo"O Breogán homenaxeará aos seus aboados máis veteráns"Pechada ovación a «Capi» Sanmartín e Ricardo «Corazón de González»Homenaxe por décadas de informaciónPaco García volve ao Pazo con motivo do 50 aniversario"Resultados y clasificaciones""O Cafés Candelas Breogán, campión da Copa Princesa""O Cafés Candelas Breogán, equipo ACB"C.B. Breogán"Proxecto social"o orixinal"Centros asociados"o orixinalFicha en imdb.comMario Camus trata la recuperación del amor en 'La vieja música', su última película"Páxina web oficial""Club Baloncesto Breogán""C. B. Breogán S.A.D."eehttp://www.fegaba.com

                                Vilaño, A Laracha Índice Patrimonio | Lugares e parroquias | Véxase tamén | Menú de navegación43°14′52″N 8°36′03″O / 43.24775, -8.60070

                                Cegueira Índice Epidemioloxía | Deficiencia visual | Tipos de cegueira | Principais causas de cegueira | Tratamento | Técnicas de adaptación e axudas | Vida dos cegos | Primeiros auxilios | Crenzas respecto das persoas cegas | Crenzas das persoas cegas | O neno deficiente visual | Aspectos psicolóxicos da cegueira | Notas | Véxase tamén | Menú de navegación54.054.154.436928256blindnessDicionario da Real Academia GalegaPortal das Palabras"International Standards: Visual Standards — Aspects and Ranges of Vision Loss with Emphasis on Population Surveys.""Visual impairment and blindness""Presentan un plan para previr a cegueira"o orixinalACCDV Associació Catalana de Cecs i Disminuïts Visuals - PMFTrachoma"Effect of gene therapy on visual function in Leber's congenital amaurosis"1844137110.1056/NEJMoa0802268Cans guía - os mellores amigos dos cegosArquivadoEscola de cans guía para cegos en Mortágua, PortugalArquivado"Tecnología para ciegos y deficientes visuales. Recopilación de recursos gratuitos en la Red""Colorino""‘COL.diesis’, escuchar los sonidos del color""COL.diesis: Transforming Colour into Melody and Implementing the Result in a Colour Sensor Device"o orixinal"Sistema de desarrollo de sinestesia color-sonido para invidentes utilizando un protocolo de audio""Enseñanza táctil - geometría y color. Juegos didácticos para niños ciegos y videntes""Sistema Constanz"L'ocupació laboral dels cecs a l'Estat espanyol està pràcticament equiparada a la de les persones amb visió, entrevista amb Pedro ZuritaONCE (Organización Nacional de Cegos de España)Prevención da cegueiraDescrición de deficiencias visuais (Disc@pnet)Braillín, un boneco atractivo para calquera neno, con ou sen discapacidade, que permite familiarizarse co sistema de escritura e lectura brailleAxudas Técnicas36838ID00897494007150-90057129528256DOID:1432HP:0000618D001766C10.597.751.941.162C97109C0155020