# decimal part of a number

## Inputs

• number with decimal point

## Outputs

• decimal part of a number

## Neuron type

Best algorithm has been found - locked

## Patterns

Pattern Input Output
1.
 number with decimal point: 12
 decimal part of a number: 0
2.
 number with decimal point: 4.222
 decimal part of a number: 0.222
3.
 number with decimal point: 0.87
 decimal part of a number: 0.87
4.
 number with decimal point: 212313
 decimal part of a number: 0.212

## Applicable neurons

• character .
• Connect - two inputs
• after decimal point
• 1 mile into kilometers
• Get html between tags (text)
• Get html after tag
• tag div
• [a, b]
• \\s
• Swap first and second words

## Algorithm

### Test

```/**
* character .:
*
* @return {Array}
*/
function neuron510()
{
return['.'];
}

/**
* character .:
*
* @return {Array}
*/
function neuron510()
{
return['.'];
}

/**
* Connect - two inputs:
*
* @param x1 Variable A
* @param x2 Variable B
* @return {Array}
*/
function neuron520(x1, x2)
{
return [x1.toString()+x2.toString()];
}

/**
* Connect - three inputs: Connect stringA + stringB + stringC
*
* @param x1 string A
* @param x2 string B
* @param x3 string C
* @return {Array}
*/
function neuron564(x1, x2, x3)
{
var outputs = [];
outputs[0] = x1;
outputs[1] = x2;
outputs[2] = x3;

arr = neuron520(outputs[1], outputs[2]);
outputs[3] = arr[0];

arr = neuron520(outputs[0], outputs[3]);
outputs[4] = arr[0];

return[outputs[4]];
}

/**
* Length of string:
*
* @param x1 String
* @return {Array}
*/
function neuron528(x1)
{
return[x1.toString().length];
}

/**
* Length of string:
*
* @param x1 String
* @return {Array}
*/
function neuron528(x1)
{
return[x1.toString().length];
}

/**
* Substring (startPosition, endPosition): Get substring from string - from position - to pos
*
* @param x1 MyString
* @param x2 start position
* @param x3 end position
* @return {Array}
*/
function neuron525(x1, x2, x3)
{
return[x1.toString().substring(x2, x3)];
}

/**
* Substring (from position to end):
*
* @param x1 MyString
* @param x2 start position
* @return {Array}
*/
function neuron529(x1, x2)
{
var outputs = [];
outputs[0] = x1;
outputs[1] = x2;

arr = neuron528(outputs[0]);
outputs[2] = arr[0];

arr = neuron525(outputs[0], outputs[1], outputs[2]);
outputs[3] = arr[0];

return[outputs[3]];
}

/**
* Position: Search position substring of string
*
* @param x1 MyString
* @param x2 FindMe
* @return {Array}
*/
function neuron523(x1, x2)
{
return [x1.toString().indexOf(x2.toString())];
}

/**
* Get after substring:
*
* @param x1 MyString
* @param x2 Substring
* @return {Array}
*/
function neuron531(x1, x2)
{
var outputs = [];
outputs[0] = x1;
outputs[1] = x2;

arr = neuron528(outputs[1]);
outputs[2] = arr[0];

arr = neuron529(outputs[0], outputs[2]);
outputs[3] = arr[0];

arr = neuron523(outputs[0], outputs[1]);
outputs[4] = arr[0];

arr = neuron529(outputs[3], outputs[4]);
outputs[5] = arr[0];

return[outputs[5]];
}

/**
* Position: Search position substring of string
*
* @param x1 MyString
* @param x2 FindMe
* @return {Array}
*/
function neuron523(x1, x2)
{
return [x1.toString().indexOf(x2.toString())];
}

/**
* 0:
*
* @return {Array}
*/
function neuron500()
{
return [0];
}

/**
* Substring (startPosition, endPosition): Get substring from string - from position - to pos
*
* @param x1 MyString
* @param x2 start position
* @param x3 end position
* @return {Array}
*/
function neuron525(x1, x2, x3)
{
return[x1.toString().substring(x2, x3)];
}

/**
* Get before substring:
*
* @param x1 MyString
* @param x2 Substring
* @return {Array}
*/
function neuron532(x1, x2)
{
var outputs = [];
outputs[0] = x1;
outputs[1] = x2;

arr = neuron523(outputs[0], outputs[1]);
outputs[2] = arr[0];

arr = neuron500();
outputs[3] = arr[0];

arr = neuron525(outputs[0], outputs[2], outputs[3]);
outputs[4] = arr[0];

return[outputs[4]];
}

/**
* 0:
*
* @return {Array}
*/
function neuron500()
{
return [0];
}

/**
* a = b: IF a=b THEN 1 ELSE 0;
*
* @param x1 a
* @param x2 b
* @return {Array}
*/
function neuron591(x1, x2)
{
return [(x1 == x2) ? 1 : 0];
}

/**
* IF: IF a THEN b ELSE c;
*
* @param x1 condition (1/0)
* @param x2 variable for 1
* @param x3 variable for 0
* @return {Array}
*/
function neuron579(x1, x2, x3)
{
return [(x1) ? x2 : x3];
}

/**
* IF a=b THEN c ELSE d:
*
* @param x1 a
* @param x2 b
* @param x3 c
* @param x4 d
* @return {Array}
*/
function neuron724(x1, x2, x3, x4)
{
var outputs = [];
outputs[0] = x1;
outputs[1] = x2;
outputs[2] = x3;
outputs[3] = x4;

arr = neuron591(outputs[1], outputs[0]);
outputs[4] = arr[0];

arr = neuron579(outputs[4], outputs[2], outputs[3]);
outputs[5] = arr[0];

return[outputs[5]];
}

/**
* empty string change into zero:
*
* @param x1 any string
* @return {Array}
*/
function neuron743(x1)
{
var outputs = [];
outputs[0] = x1;

arr = neuron500();
outputs[1] = arr[0];

arr = neuron724(outputs[0], outputs[1], outputs[1], outputs[0]);
outputs[2] = arr[0];

return[outputs[2]];
}

/**
* after decimal point:
*
* @param x1 number with decimal point
* @return {Array}
*/
function neuron741(x1)
{
var outputs = [];
outputs[0] = x1;

arr = neuron510();
outputs[1] = arr[0];

arr = neuron564(outputs[0], outputs[1], outputs[1]);
outputs[2] = arr[0];

arr = neuron531(outputs[2], outputs[1]);
outputs[3] = arr[0];

arr = neuron510();
outputs[4] = arr[0];

arr = neuron532(outputs[3], outputs[1]);
outputs[5] = arr[0];

arr = neuron743(outputs[5]);
outputs[6] = arr[0];

return[outputs[6]];
}

/**
* Connect - two inputs:
*
* @param x1 Variable A
* @param x2 Variable B
* @return {Array}
*/
function neuron520(x1, x2)
{
return [x1.toString()+x2.toString()];
}

/**
* decimal part of a number:
*
* @param x1 number with decimal point
* @return {Array}
*/
function neuron748(x1)
{
var outputs = [];
outputs[0] = x1;

arr = neuron510();
outputs[1] = arr[0];

arr = neuron741(outputs[0]);
outputs[2] = arr[0];

arr = neuron520(outputs[1], outputs[2]);
outputs[3] = arr[0];

return[outputs[3]];
}

```